0

是否可以检查 hasData 是否存在于链中?

例如:

<div data-foo="yes">Foo</div>

$("div").hasData("foo").css("color","red");
4

4 回答 4

3

jQuery 方法链仍然遵循 JS 的规则。由于hasData返回一个布尔值,而布尔值没有 jQuery 方法,这不起作用。

最简单的方法是修改您的选择器,以便已经过滤了原始集合:

$("div[data-foo]")
于 2013-04-01T20:48:58.030 回答
2

尝试.filter改用:

$("div").filter(function(){
    return $(this).data("foo");
}).css("color","red");

甚至只是一个属性选择器:

$("div[data-foo]").css("color","red");
于 2013-04-01T20:49:19.367 回答
1
(function ($) {
    $.fn.hasData = function (data) {
        if (this.data(data)) return this;
        else return null;
    };
})(jQuery);
于 2013-04-01T20:58:20.920 回答
0

演示

$("div[data-foo=yes]").css("color","red");
于 2013-04-01T20:50:13.253 回答