我在DOM中设置了data('disabled', true)
的元素,我想创建自定义选择器来选择这些元素。我试试这个:
jQuery.extend(jQuery.expr[':'], {
disabled: function(a,i,m) {
return $(a).data('disabled') === true;
}
});
和此:
jQuery.expr[':'].disabled = function(a,i,m) {
return $(a).data('disabled') === true;
};
我也尝试!!$(a).data('disabled');
但它不起作用,$('.parent :disabled')
什么都不返回,即使我的.parent
内的元素有data('disabled')
。任何人都知道原因。
答案 0 :(得分:1)
看起来这是因为jQuery已经有一个名为:disabled的选择器,如果你重命名它可以正常工作
jQuery(function($){
jQuery.extend(jQuery.expr[':'], {
disabled1: function(a,i,m) {
console.log('x',arguments)
return $(a).data('disabled') === true;
}
});
$('.parent :disabled1').hide()
})
演示:Fiddle