假设页面上有一组元素,需要在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 + ']')
答案 0 :(得分:1)
一根绳子有多长?
他们已经有索引(例如$(".question").eq(1)
是第二个;如果$(".question").eq(1).index()
中的所有1
,li
将返回ul
1}}有类)。
如果适用于您的用例,则使用data-*
属性完全正常;如果你添加/删除,你当然必须重新排序。
如果适用于您的用例(可能有点不寻常),使用class
完全没问题;如果你添加/删除,你当然必须重新排序。
使用id
完全正常,如果它适用于您的用例(非常快查找,如果这很重要);如果你添加/删除,你当然必须重新排序。
答案 1 :(得分:-1)
HTML
<li class="question"></li>
<li class="question"></li>
<li class="question"></li>
然后js看起来像
$('.question').get(index)