我有一个包含多个数据属性的html元素:
<div class="passenger-information clearfix" data-index="0" data-class="passenger-info-wrapper" data-age-classify="Adult"></div>
我将使用如下的jquery选择器:
1)$('[data-age-classify="Adult"]')
2)$("[data-age-classify='َAdult']")
3)$("[data-class='passenger-info-wrapper']")
问题是第一个选择器尽管第二个和第三个选择器都没有返回任何东西。
答案 0 :(得分:1)
它按预期工作。 请检查您的浏览器是否存在任何控制台错误,或者是否未正确导入jquery库。
alert($('[data-age-classify="Adult"]'));
alert($("[data-age-classify='َAdult']"));
alert($("[data-class='passenger-info-wrapper']"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="passenger-information clearfix" data-index="0" data-class="passenger-info-wrapper" data-age-classify="Adult"></div>
答案 1 :(得分:1)
所有这些都有效,但第二个你不需要'
所以它看起来像:$("[data-age-classify=Adult]"
console.log($('[data-age-classify="Adult"]').html())
console.log($("[data-age-classify=Adult]").html())
console.log($("[data-class='passenger-info-wrapper']").html())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="passenger-information clearfix" data-index="0" data-class="passenger-info-wrapper" data-age-classify="Adult">s</div>
答案 2 :(得分:0)
属性放在开始标记内,由名称和。组成 一个值,以=字符分隔。属性值可以保留 如果它不包含空格或任何“'= =&lt;或&gt;,则不带引号。 否则,必须使用单引号或双引号引用它。 如果,则可以完全省略该值以及=字符 值是空字符串。
所有案例都应该适用于您的示例。查看本文以更深入地了解该主题:https://mathiasbynens.be/notes/unquoted-attribute-values