2014-09-26 67 views
0

假设页面上有一组元素,并且他们需要在JavaScript中动态访问。在对象上存储这些数据的语义上正确的方法是什么?它是一个类还是一个数据属性?在元素上添加索引的语义上正确的方法是什么?

<li class="question question1"></li> 
<li class="question question2"></li> 
<li class="question question3"></li> 

和访问诸如元素:

$('.question' + index) 

OR

<li class="question" data-question-index="1"></li> 
<li class="question" data-question-index="2"></li> 
<li class="question" data-question-index="3"></li> 

和访问诸如元素:

$('[data-question-index=' + index + ']') 
+1

使用类名会快很多(我的意思就可以访问它们)。但是,添加索引的目标是什么? – laruiss 2014-09-26 21:59:45

+0

定义“语义正确”。这样的口号缺乏定义的意义(语义),而要求语义上的正确意味着征求意见和辩论。 – 2014-09-27 04:21:16

回答

1

有多长的绳子?

  1. 他们已经有指数($(".question").eq(1)是第二个,例如; $(".question").eq(1).index()将返回1如果所有的li S IN的ul的有类)。

  2. 使用data-*属性是非常好的,如果这适用于您的用例;如果您添加/删除,您当然必须重新排列它们。

  3. 使用class是完全正常的,如果这适用于您的用例(也许有点不寻常);如果您添加/删除,您当然必须重新排列它们。

  4. 使用的id是完美的罚款是否适合您的使用情况(是真快查找,如果是重要的);如果您添加/删除,您当然必须重新排列它们。

-1

HTML

<li class="question"></li> 
<li class="question"></li> 
<li class="question"></li> 

然后JS貌似

$('.question').get(index) 

Get Jquery Documentation

相关问题