Eric @ EricBess WebHome

胜不骄,败不馁,胸有激雷而面如平湖

Chinese (Simplified) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flag
By N2H

精通jQuery选择器使用[转]

jQuery 具有一个相当强大的选择器引擎,提供了完整的选择器语法,允许我们选择几乎所有的元素组合。jQuery 的选择器语法主要是基于 CSS3 和 XPath 的,对 CSS3 和 XPath 了解越多,使用 jQuery 时就越显得心应手。有关 CSS 和 XPath,请参阅以下链接:

值得注意的是, CSS3 并没有得到现今所有浏览器的支持,因此我们很少使用它。然而,我们仍然可以在 jQuery 中使用 CSS3 选择元素,因为 jQuery 具备自己的自定义选择器引擎,并且实现了对 CSS3 的支持。

想了解 jQuery 选择器更多信息,可以访问 jQuery 的官方文档有关 Selector 的部分。下面,在原官方文档的基础上作一些简单的翻译和说明。

1. CSS 选择器(CSS Selectors)

jQuery 完整地支持 CSS 1-3,并且可以在(选择器)表达式里加入自定义的 CSS-like (和xPath)。

Click to continue reading

07月 21st, 2008 Posted by eric | Coding | no comments

Jquery效果:实现“即点即改”

目标

一个用AJAX(或AHAH)技术设计的页面,访问者无需离开就可以在看到的(x)HTML 页面上编辑内容。

方案

点击需要编辑的文本,变幻出一个带有保存和取消按钮的textarea。修改的部分将通过AHAH传送至服务器端的一个PHP脚本文件,用来更新数据库(MySQL或普通文件)。

演示

AJAX式即点即改演示
在这第一个演示中,我使用了一个id为“editinplace”的div元素。当鼠标划过这里时,背景颜色将变成浅黄色。点击文本将启动一些DOM操作,div元素被一个textarea元素取代–内中包含原先的文本。
点击保存按钮将向服务器端的PHP脚本文件发送新的HTML内容,并重新输出收到的新文本内容(通过 $_POST)。
在真实应用环境下,你还应当添加一个安全性检测,然后才能更新数据库并返回更新后的页面内容,同事告知jQuery执行成功的信息。

1 2 3

07月 20th, 2008 Posted by eric | Coding, 网站技术 | no comments

Jquery效果:样式表切换

DEMO

熟悉的开篇
$(document).ready(function(){
$('.styleswitch').click(function()

告诉jQuery“以最快的速度查找所有包含对象名‘styleswitch’的元素,并在他们被鼠标点击时执行一个函数”。
看起来不错。当鼠标点击预先指定的元素时,switchStylestyle函数将被调用。从现在开始是重点。

$('link[@rel*=style]').each(function(i) {

这句话什么意思?
找到了jQuery的作者John Resig,向他咨询。他直接给了我一个jQuery网站的页面地址,里面讲解了若干jQuery提供的高级特性(xpath),可以用来查找并操作页面中的若干元素。如果你看过这些东西你就能明白上面那句神秘的代码的含义是告诉jQuery“查找所有带rel属性并且属性值字符串中包含‘style’的link链接元素”。

Click to continue reading

07月 20th, 2008 Posted by eric | Coding, 网站技术 | one comment

PHP FixPath Function[路径整理函数]

FixPath Function: fix the dirty paths. PHP路径整理函数.
Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
< ?php
echo "\n\n\n    Dirty paths:\n";
$paths[] = 'C://////////Windows//////System';               //  C:/System
$paths[] = 'C:\HTML\javascript\..\examples\colors.html';    //  C:/HTML/examples/colors.html
$paths[] = '/root/./wwwroot/scripts/../././webpage';        //  /root/wwwroot/webpage
$paths[] = 'wwwroot/webpage/../index.php?querystring';      //  wwwroot/index.php?querystring
$paths[] = 'http://www.php.net/manual/en/../../downloads';  //  http://www.php.net/downloads
$paths[] = 'http://www.php.net/downloads/test/test1/test2//./docs.php';    //  http://www.php.net/docs.php
$paths[] = '../downloads/../docs.php';                      //  ../docs.php
$paths[] = 'localhost//projetos/../_arquivos/../';          //   ""
$paths[] = 'C:/downloads/../../../';                        //  C:/
$paths[] = 'downloads/../../../';                           //  ../../
 
foreach ($paths as $path)
{
    echo "\n&quot;" . $path . "&quot;  =  &quot;" . fixpath($path) . "&quot;";
}
?>
Note: "//" one more slashes will roll back the root.

Click to continue reading

07月 17th, 2008 Posted by eric | 未分类 | no comments

FindRelativePath Function[找出路径间相对关系]

PHP FUNCTION:Found the relative between the path.
PHP函数:找出路径间相对关系。

Example:

1
2
3
4
5
6
7
8
9
< ?php
$path_a = 'http://www.php.net/manual/en/install.php';
$path_b = 'http://www.php.net/downloads';
 
echo "\nPath A:  " . $path_a;
echo "\nPath B:  " . $path_b;
echo "\nA to B:  " . findRelativePath($path_a, $path_b); //  ../../downloads/
echo "\nB to A:  " . findRelativePath($path_b, $path_a); //  ../manual/en/install.php
?>

Function:

Click to continue reading

07月 17th, 2008 Posted by eric | Coding | 2 comments

[转]深入浅出之正则表达式

前言:

半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才能准确的表达出该教程给我的感受,所以也就不能免俗了。

本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注明出处!谢谢!

什么是正则表达式

基本说来,正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express。本文将用<<regex>>来表示一段具体的正则表达式。一段文本就是最基本的模式,简单的匹配相同的文本。

不同的正则表达式引擎

正则表达式引擎是一种可以处理正则表达式的软件。通常,引擎是更大的应用程序的一部分。在软件世界,不同的正则表达式并不互相兼容。本教程会集中讨论Perl 5 类型的引擎,因为这种引擎是应用最广泛的引擎。同时我们也会提到一些和其他引擎的区别。许多近代的引擎都很类似,但不完全一样。例如.NET正则库,JDK正则包。

文字符号

最基本的正则表达式由单个文字符号组成。如<<a>>,它将匹配字符串中第一次出现的字符“a”。如对字符串“Jack is a boy”。“J”后的“a”将被匹配。而第二个“a”将不会被匹配。正则表达式也可以匹配第二个“a”,这必须是你告诉正则表达式引擎从第一次匹配的地方开始搜索。在文本编辑器中,你可以使用“查找下一个”。在编程语言中,会有一个函数可以使你从前一次匹配的位置开始继续向后搜索。

类似的,<<cat>>会匹配“About cats and dogs”中的“cat”。这等于是告诉正则表达式引擎,找到一个<<c>>,紧跟一个<<a>>,再跟一个<<t>>。

要注意,正则表达式引擎缺省是大小写敏感的。除非你告诉引擎忽略大小写,否则<<cat>>不会匹配“Cat”。

特殊字符

对于文字字符,有11个字符被保留作特殊用途。他们是:[ ] \ ^ $ . | ? * + ( )

这些特殊字符也被称作元字符。

如果你想在正则表达式中将这些字符用作文本字符,你需要用反斜杠“\”对其进行换码 (escape)。例如你想匹配“1+1=2”,正确的表达式为<<1\+1=2>>.

需要注意的是,<<1+1=2>>也是有效的正则表达式。但它不会匹配“1+1=2”,而会匹配“123+111=234”中的“111=2”。因为“+”在这里表示特殊含义(重复1次到多次)。

在编程语言中,要注意,一些特殊的字符会先被编译器处理,然后再传递给正则引擎。因此正则表达式<<1\+2=2>>在C++中要写成“1\\+1=2”。为了匹配“C:\temp”,你要用正则表达式<<C:\\temp>>。而在C++中,正则表达式则变成了“C:\\\\temp”。

Click to continue reading

07月 15th, 2008 Posted by eric | Coding | no comments

Page 1 of 212»