0

从学术上讲,我处于两难境地。我无法在选择一堆 DIV 的两种方法之间做出决定 - 两者都可以完美地工作,所以这实际上是代码的好坏问题。什么是首选的教科书示例?为什么是一个而不是另一个?

var bunch_1 = $("[id$=viltersten]");
var bunch_2 = $(".konrad");

我能想到的唯一区别是,在我们添加其他 DIV 的情况下,按类选择更加稳健,因为不需要尊重分类法。另一方面,这需要程序员记住对新添加的 DIV 进行分类。另外,在这种特殊情况下,id 后缀非常具体,并且可以假定冲突永远不会发生。

抛开这些考虑,哪种方法是首选方法,为什么?

4

1 回答 1

1

您可能应该使用.class,因为:

  • 这是一个班级的目标
  • 它更具可读性
  • 它更快(好吧,我们不在乎,没有显着差异)
  • 不可能发生 ID 冲突

例子:

<div class='konrad' data-id="15">content</div>
<div class='konrad' data-id="51">content</div>

$('.konrad').each( function() {
  console.log( $(this).data("id") ); // will print 15, then 51
});

// edit one element : here, an ID might be better
$('.konrad[data-id="51"]').text('content changed'); 

这段代码非常容易阅读,易于维护,并且 HTML 易于生成(即在循环中)。

您可以为每个项目使用 ID类,但如果您需要全部选择它们,我建议您使用类选择器。

对 CSS 的使用也有同样的想法。

于 2013-06-15T11:21:12.360 回答