问答详情
源自:2-10 jQuery选择器之属性筛选选择器

[att|=vall]觉得不太好懂

既然说是选择指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素,那为什么在第二段代码如下:

        <div class="div" testattr="true"  name='aaorn-imooc'>

            <a>[att$=val]</a>

        </div>

的情况下用$('div[name|="-"]').css("border","3px groove blue");并不能改变它的边框

提问者:我啊我诶 2016-10-25 20:11

个回答

  • 冥oo冥
    2016-10-25 22:47:05
    已采纳

    指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素

    1. 等于给定字符串:$('div[name|="aaorn-imooc"]').css("border","3px groove blue");

    2. 以该文字串为前缀(该字符串后跟一个连字符“-”):$('div[name|="aaorn"]').css("border","3px groove blue");

  • LanceChou
    2016-10-25 21:07:31

    因为这个方法是选择指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素,就是说当 name='-' 时,分号里面的 - 前面的字符串为空就直接写成$('div[name|="-"]').如果 - 前面有字符串,例如:name='aaorn-imooc',就要写成$('div[name|="aaorn-"]')。