是否可以检查 hasData 是否存在于链中?
例如:
<div data-foo="yes">Foo</div>
$("div").hasData("foo").css("color","red");
是否可以检查 hasData 是否存在于链中?
例如:
<div data-foo="yes">Foo</div>
$("div").hasData("foo").css("color","red");
jQuery 方法链仍然遵循 JS 的规则。由于hasData
返回一个布尔值,而布尔值没有 jQuery 方法,这不起作用。
最简单的方法是修改您的选择器,以便已经过滤了原始集合:
$("div[data-foo]")
尝试.filter
改用:
$("div").filter(function(){
return $(this).data("foo");
}).css("color","red");
甚至只是一个属性选择器:
$("div[data-foo]").css("color","red");
(function ($) {
$.fn.hasData = function (data) {
if (this.data(data)) return this;
else return null;
};
})(jQuery);
$("div[data-foo=yes]").css("color","red");