Jquery:使用索引号

时间:2018-04-03 12:41:31

标签: jquery indexing

如果我正在为这样的元素编制索引:

$('#test_form li').each(function(index) {
  $(this).addClass('option-nr-' + index);
});

如何在下一步中再次使用索引编号来表示:

  if ($('#test_form li').hasClass('option-nr-[index]')){
    // do somethin
  }

1 个答案:

答案 0 :(得分:1)

由于在第一步中为元素创建了特定的类名,因此您只需将该类名用作选择器即可;根本不需要if语句:

$('#test_form li.option-nr'+index)  // will  match that specific single element, chain anything you like onto this

根据您对此的操作,可能更有意义的是为每个元素添加特定的类名,并且首先按索引对它们进行操作。仅当元素要更改顺序或从列表中插入或删除新元素时,才需要特定标识符,并且您需要能够单独跟踪它们。如果您只是在列表中作为列表进行操作,那么当您需要匹配特定元素时,您可以执行此类操作,并获得相同的结果,而无需添加和跟踪大量额外内容类名:

// these are equivalent:
$('#test_form li').eq(index) 
$('#test_form li:eq('+index+')')

如果您 要为每个元素添加特定标识符,那么添加ID而不是类名可能会更好:您可以获得较小的性能提升(ID看起来更快) (),但更重要的是,如果ID总是唯一且类名不是,那么您可以更容易地记录您正在阅读代码的内容。)