我在一些javascript代码中找到了这个代码段:
var name = "someString";
var s = "[name|='"+name+"']";
var nArr = $JQ(s);
有人可以解释|=
的作用吗?
我可以在我的调试工具中看到我收到一个jQuery元素数组,它们的名字都有someString
。但我无法在jQuery文档中找到解释。我错过了什么?
答案 0 :(得分:4)
这是attribute contains prefix selector
选择具有指定属性的元素,其值等于给定字符串或以该字符串后跟连字符( - )开头。
$("a[hreflang|='en']").css("color", "green");
a {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<a href="example.html" hreflang="en">Some text</a>
<a href="example.html" hreflang="en-UK">Some other text</a>
<a href="example.html" hreflang="english">will not be selected</a>
这个选择器被引入到CSS规范中以处理语言属性。
表示具有att属性的元素,其值正好是“val”或以“val”开头,后跟“ - ”(U + 002D)。这主要是为了允许语言子代码匹配(例如,HTML中元素的hreflang属性),如BCP 47([BCP47])或其后继者所述。