最近在使用jQuery的时候,遇到了选择器的问题。原本以为这是简单易懂的东西,结果却发现有些选择器的语法格式真的很让人困惑。
// 需要选择的元素中有多个class名,如下所示:<div class="foo bar">Lorem ipsum</div>// 使用单个class名选择器,没有问题$(.foo)// 使用多个class名选择器,却不能这么写$(.foo bar)
上面这个例子就是我遇到的问题之一。一开始尝试使用类似“.foo bar”的语法对有多个class名的元素进行选择,但结果却与预期不符。
// 正确写法使用了空格分隔,但是意义却有所不同$(.foo .bar)
正确的做法是用空格“ ”分隔不同的选择器,如“.foo .bar”,这样才能正确地选择有多个class名的元素。
另一个问题是,在选择器中使用特殊字符时,也会遇到问题。比如下面这个例子:
$(input[name="name[]"])
在选择器中使用方括号[]可以实现对属性进行选择,但是这里的“[]”符号是系统识别数组的“[]”,而非jQuery选择器中的方括号。所以,需要使用""字符对其进行转义,代码如下:
$(input[name="name[]"])
总之,在使用jQuery选择器时,需要仔细阅读官方文档,并留意选择器中的特殊字符。希望这些经验能够帮到初学者。