$('div[name~="a"]')的解释有问题吧?

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

AlexZhong

2016-10-23 22:17

我上了几个网,发现 $('div[name~="a"]')这句话的解释各不相同,然后可以把 name="a b"直接改为name="a",样式照样生效了,这不就和老师说的矛盾了吗

写回答 关注

1回答

  • Mext
    2016-10-23 22:46:39

    理解问题,就像css选择器一样,适用于多类名等情况。

    <div class="message message-left">左边的消息</div>
    <div class="message message-right">右边的消息</div>
    $('div[class~=message-left]').css('color','blue');
    $('div[class~=message-right]').css('color','red');

    当然,以上选择器也是可以直接用对应类名进行选择的。如果开发环境比较大的话(鬼知道其他人都对别的类名做了什么),就容易造成污染,让你使用属性选择器以缩小范围,但是你除了~=选择器以外,用-=、^=不行,*=、$=范围有些大,~=最贴切。

    望理解。

    Mext

    而且$=在更多类名的情况下容易出错。比如在bootstrap的应用中。

    2016-10-23 22:48:38

    共 1 条回复 >

jQuery基础 (一)—样式篇

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

217509 学习 · 1218 问题

查看课程

相似问题