7

我正在尝试选择具有特定属性值的 DOM 元素。我想避免 each() 循环,但我在 jQuery 中看到的只是能够检测数据属性的存在,而不是它的值。所以,我想完成这样的事情:

if ($('.item[data-index="' + indexVal + '" ]'){
  //if an .item with the data-index value of indexVal exists...
}
4

4 回答 4

8

缺失)$(selector)不应置于 if 条件下。它总是true即使它没有选择任何东西。

if ($('.item[data-index="' + indexVal + '" ]').length) {
于 2013-08-29T19:26:03.397 回答
5

尝试这个:

if ($('.item[data-index="' + indexVal + '" ]').length > 0){

}
于 2013-08-29T19:26:43.643 回答
0

应该

if ($('.item[data-index="' + indexVal + '" ]')){
  //if an .item with the data-index value of indexVal exists...
}

或者

if(jQuery('.item').attr('data-index') == indexVal){
}
于 2013-08-29T19:26:06.240 回答
0

$('.item[data-index]').length > 0

如果您搜索特定值,您可以在 "" 中插入该值:

$('.item[data-index="123"]').length > 0

或者

$('.item[数据索引]').is('*')

于 2019-02-06T16:43:12.783 回答