我认为在 Javascript 中波浪号的作用是执行按位非操作(即 1 变成 0,反之亦然;1000 变成 0111)。然而,最近我开始接手一个已有的项目,我的前任编写了很多类似于以下代码:
var iValuation = $('div[class~="iValuation"]');
有人能告诉我在这种情况下波浪号的用途是什么吗?我以前没有遇到过这种情况,也没有找到相关的在线参考资料。
我认为在 Javascript 中波浪号的作用是执行按位非操作(即 1 变成 0,反之亦然;1000 变成 0111)。然而,最近我开始接手一个已有的项目,我的前任编写了很多类似于以下代码:
var iValuation = $('div[class~="iValuation"]');
Tiled作为选择器表示:
选择具有指定属性且值包含给定单词(由空格分隔)的元素。
这并不是JavaScript运算符。
更多文档:
该选择器将测试字符串与属性值中的每个单词进行匹配,其中“单词”定义为由空格分隔的字符串。如果测试字符串与任何一个单词完全相等,则选择器匹配。
例如:
<input name="man-news" />
<input name="milk man" />
<input name="letterman2" />
<input name="newmilk" />
$('input[name~="man"]')
会选择第二个标签,因为它的name
属性被空格
分隔。
详情请参见 这里。
[class~="foo"]
并且
[class*="foo"]
~
只匹配有空格的内容(例如,'foo bar' 但不包括 'foo-1')
*
匹配带或不带空格的内容(例如,'foo bar' 和 'foo-1')
~
- 属性空格选择器
*
- 属性包含选择器
$
是jQuery
选择器函数,其中包含一个CSS3
选择器字符串:根据CSS3
选择器定义,你遇到的选择器选择:
E[foo~="bar"] 一个E元素,其"foo"属性值是一个由空格分隔的值列表,其中一个值恰好等于"bar"
在DOM
中。因为波浪号被包含在字符串中,所以它不起作用作为运算符。