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

$('div[name|="-"]')有BUG!

<div class="div" testattr="true" name="--">

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

        </div>

<script type="text/javascript">

        //查找所有div中,有属性name中的值只包含一个连字符“-”的div元素

        $('div[name|="-"]').css("border", "3px groove #00FF00"); 

    </script>

Q:为啥这样也能选中?


【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者加Q:28554482,互相学习,共同进步!】

提问者:梦编猿 2016-08-18 11:21

个回答

  • shenXs
    2016-08-18 15:12:31
    已采纳

    因为选择$(":[attr |= 'value']")的作用是, 选择制定属性值等于给定字符串  或者 以该字符串为前缀的元素(该字符串后面跟一个'-')。你的name = '--'表示的意思就是以'-'为前缀的字符串, 只不过'-'后面又跟了一个'-',不知道这样你能明白不?