jQuery:数据()选择器在设置后不起作用

问题描述 投票:0回答:1

我期望匹配至少一个元素,但我得到零。我做错了什么?

$("tr:first").data("aaa", "333"); // setting the data
console.log($("tr:data(aaa == "333")")); // reading the data
jquery jquery-ui jquery-selectors custom-data-attribute
1个回答
1
投票

改变这个:

console.log($("tr:data(aaa, 333)"));

仅此:

console.log($("tr:data(aaa)").data('aaa') === "333");

如果你想过滤

tr
然后使用
.filter()
方法:

$("tr:data(aaa)").filter(function(i, el){
  return el.data('aaa') === "333"
}).css('color', 'red');

您实际上是在尝试再次将数据值设置为控制台中的

tr
元素。

$('span').data('aaa', 3333);
var value = $('span:data(aaa)').data('aaa')
$('pre').html(value == 3333)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<span>3333</span>

<pre>pre</pre>

© www.soinside.com 2019 - 2024. All rights reserved.