Селектор в 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');
});

я думаю, что мы напрямую пытаемся с элементом, если вы используете ли

Другие вопросы по тегам