是否有可能檢查鏈中是否存在hasData?jQuery hasData作爲鏈?
E.g:
<div data-foo="yes">Foo</div>
$("div").hasData("foo").css("color","red");
是否有可能檢查鏈中是否存在hasData?jQuery hasData作爲鏈?
E.g:
<div data-foo="yes">Foo</div>
$("div").hasData("foo").css("color","red");
(function ($) {
$.fn.hasData = function (data) {
if (this.data(data)) return this;
else return null;
};
})(jQuery);
jQuery的方法鏈接仍然服從JS的規則。由於hasData
返回布爾值,並且布爾值不具有jQuery方法,所以這不起作用。
要做到這一點,最簡單的方法是修改您的選擇使原來的收集已經過濾:
$("div[data-foo]")
+1感謝您解釋原因 –
嘗試使用.filter
代替:
$("div").filter(function(){
return $(this).data("foo");
}).css("color","red");
,甚至只是一個屬性選擇:
$("div[data-foo]").css("color","red");
$("div[data-foo=yes]").css("color","red");
'.hasClass'不起作用這樣的。它也不能鏈接。它返回一個布爾值。 –
你期望'hasData'在這裏返回什麼? –