例如,我有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方法更耗费资源。
您(有经验的网络开发者)会推荐哪一种方法?
答案 0 :(得分:0)
这取决于你想要完成的事情。如果您需要一种唯一标识元素的方法,并且当前设置中没有其他方法可以这样做,那么唯一ID是一个很好的方法。