2014-09-26 74 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

相關問題