既然说是选择指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素,那为什么在第二段代码如下:
<div class="div" testattr="true" name='aaorn-imooc'>
<a>[att$=val]</a>
</div>
的情况下用$('div[name|="-"]').css("border","3px groove blue");并不能改变它的边框
指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素
等于给定字符串:$('div[name|="aaorn-imooc"]').css("border","3px groove blue");
以该文字串为前缀(该字符串后跟一个连字符“-”):$('div[name|="aaorn"]').css("border","3px groove blue");
因为这个方法是选择指定属性值等于给定字符串或以该文字串为前缀(该字符串后跟一个连字符“-”)的元素,就是说当 name='-' 时,分号里面的 - 前面的字符串为空就直接写成$('div[name|="-"]').如果 - 前面有字符串,例如:name='aaorn-imooc',就要写成$('div[name|="aaorn-"]')。