Селектор в jquery - получить атрибут rel
У меня есть HTML-код, как это:
<li id="vol" rel="1">
// something here
</li>
<li id="vol" rel="2">
// something here
</li>
<li id="vol" rel="3">
// something here
</li>
Я пытаюсь получить атрибут rel с помощью этого кода:
$('#vol').click(function(){
var rel = $(this).attr('rel');
});
Но это не работает. Я тоже меняю this
в #vol
, но это не сработало. Что я должен делать?
4 ответа
Решение
Не работая, я предполагаю, что любой li
Вы нажимаете, возвращает 1
, это вызвано наличием нескольких идентификаторов на странице. Идентификаторы должны быть уникальными, вместо этого используйте класс.
пытаться
<li class="vol" rel="1">
// something here
</li>
<li class="vol" rel="2">
// something here
</li>
<li class="vol" rel="3">
// something here
</li>
JS:
$('.vol').click(function(){
var rel = $(this).prop('rel');
});
Ваше все id
Это одно и то же. Предполагая, что ваш li
это внутри ul
какой класс clsTest
$('.clsTest li').click(function(){
var rel = $(this).attr('rel');
alert(rel);
});
Измените свой код на
<li class="vol" rel="1">
// something here
</li>
<li class="vol" rel="2">
// something here
</li>
<li class="vol" rel="3">
// something here
</li>
<script>
$('body').delegate('li.vol','click',function(){
var rel = $(this).attr('rel');
});
</script>
Селектор по "id" (#id) выбирает только один элемент, вместо него используется "class" (.class)
$('.li').on('click', function(){
var target = $(this).attr('rel');
});
я думаю, что мы напрямую пытаемся с элементом, если вы используете ли