0

例如,我有 html 块:

<div class="span3">
  <div class="firstDiv"></div>
</div>
<div class="span3">
  <div class="secondDiv"></div>
</div>

这个html块的副本可以用javascript插入,所以我有大量的这些块一个接一个。

我想听听关于将 id 放在所有这些元素上以便与它们一起工作是否是一种标准/有效的做事方式的观点。我有一个好方法可以在生成的元素上放置具有匹配后缀的唯一 ID,例如:

  ...
  <div class="span3">
    <div id="firstDiv_154 class="firstDiv""></div>
  </div>
  <div class="span3">
    <div id="secondDiv_154 class="secondDiv""></div>
  </div>

  <div class="span3">
    <div id="firstDiv_155 class="firstDiv""></div>
  </div>
  <div class="span3">
    <div id="secondDiv_155" class="secondDiv"></div>
  </div>
  ...

然后作为一般规则,当我单击集合中的 firstDiv 时对 secondDiv 做一些事情,我可以这样做:

$('.firstDiv').on ('click', function(evt) {
  var idToFind = $(evt.target).attr('id').replace(/firstDiv/, /#secondDiv/)
  var $secondDiv = $(idToFind);
  // do something with $secondDiv
});

是否有更有效的方法来使用 id?

如果不使用 id,我可以使用 jQuery:

如果我想从第一个元素中找到第二个元素:

$('.firstDiv').parent().next().children()

如果我重新排列元素太多,这会破坏,或者

$('.firstDiv').closest('.span3').find('.secondDiv')

这将更健壮,但可能比第一个 jQuery 方法更占用资源。

您(请有经验的网络开发人员)推荐所有这些方法中的哪一种?

4

1 回答 1

0

这取决于您要完成的工作。如果您需要一种唯一标识元素的方法,并且在当前设置中没有其他方法可以做到这一点,那么唯一 id 是一个不错的方法。

于 2012-11-18T02:59:22.303 回答