jQuery本身提供了一些强大的带有冒号的选择器,比如:first,:even这些。但是这些还满足不了需求的话,可以自己扩展一个选择器。比如要选择一些文本为”hello world”的链接,用jQuery自带的:contain是可以,但是它会把”hello world,I’m Michael”也选择进来,不够精确。
于是我们就自己定义一个:text
/**
*jQuery扩展一个选择器的简单示例
* @param
* @arrange (512.笔记) jb51.cc
**/
$.extend($.expr[':'],{
text: function(a,i,m) {
return ((a.textContent
|| a.innerText
|| jQuery(a).text()
|| "") === m[3]);
}
});
用$(“a:text(‘hello world’)”)来调用上面的方法,函数里的m[3]就是输入的参数,在这里为”hello world”。