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

来源:2-10 jQuery选择器之属性筛选选择器

梦编猿

2016-08-18 11:21

<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,互相学习,共同进步!】

写回答 关注

1回答

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

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

    慕瓜8281... 回复慕村1994...

    第一个也应该没效果吧,都没有"_"连字符号,不是说选择制定属性值等于给定字符串 或者 以该字符串为前缀的元素(该字符串后面跟一个'-')吗?

    2018-06-06 16:20:47

    共 4 条回复 >

jQuery基础 (一)—样式篇

jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局

217496 学习 · 1303 问题

查看课程

相似问题