我有一个生成id的复选框集合,其中一些有一个额外的属性。是否有可能使用JQuery来检查一个元素是否具有特定的属性? 例如,我能否验证以下元素是否具有属性“myattr”?属性的值可以变化。

<input type="checkbox" id="A" myattr="val_attr">A</input>

例如,我如何才能获得具有此属性的所有复选框的集合而不逐个检查?这可能吗?


当前回答

if (!$("#element").attr('my_attr')){
  //return false
  //attribute doesn't exists
}

其他回答

if (!$("#element").attr('my_attr')){
  //return false
  //attribute doesn't exists
}

在这篇文章中,使用.is和属性选择器[],你可以很容易地添加一个函数(或原型):

function hasAttr($sel,attr) {
    return $sel.is('['+attr+']');
}
$("input#A").attr("myattr") == null

除了选择带有属性$('[someAttribute]')或$('input[someAttribute]')的所有元素外,您还可以使用一个函数对对象进行布尔检查,例如在单击处理程序中:

if (!这是他的功劳。

你的意思是你可以选择他们吗?如果是,那么是的:

$(":checkbox[myattr]")