jquery中的selector - 获取rel属性

时间:2012-07-30 10:56:40

标签: jquery jquery-selectors

我有这样的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,但它不起作用。 我该怎么办?

5 个答案:

答案 0 :(得分:4)

由于不工作,我假设您点击的任何li都会返回1,这是因为页面中有多个ID。 ID应该是唯一的,而是使用类。

<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');
});

答案 1 :(得分:4)

你的所有id都是一样的。所以让它们变得不同。 假设您的li位于ul内,哪个类为clsTest

$('.clsTest li').click(function(){
  var rel = $(this).attr('rel');
  alert(rel);
});

答案 2 :(得分:1)

选择器按“id”(#id)只选择一个元素,改为使用“class”(。class)

答案 3 :(得分: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>

<script>
$('body').delegate('li.vol','click',function(){
  var rel = $(this).attr('rel');
});
</script>

答案 4 :(得分:0)

$('.li').on('click', function(){
  var target = $(this).attr('rel');
});
  

如果您使用li,我认为我们可以直接尝试element