jQuery在点击时获得多个id属性

时间:2013-06-28 20:45:04

标签: jquery onclick attr

我正试图从不同的onclicks获取id attr。

这是我的html。

<div id="name-1"> 
    <a href="#" class="view">
<div> 

<div id="name-2"> 
    <a href="#" class="view">
<div> 

<p>Name: <span class='name'></span></p>

<script>
$(".view").click(function() {
    var id = $(".view").closest("div").attr("id");
    $('.name').html(id);    
}); 
</script>

当我点击第一个视图时,我看到“name-1”但是当我点击第二个视图时没有任何反应。此外,当我点击第二个名称时,它显示“name-1”。我知道这可能很容易解决但是周五所以我很感激帮助。

2 个答案:

答案 0 :(得分:4)

更改

var id = $(".view").closest("div").attr("id");

var id = $(this).closest("div").attr("id");

现在,您当前的代码正在查看页面上的第一个.view,而不是触发其点击事件的.view

答案 1 :(得分:1)

原因是您使用view类选择器来获取最接近的ID。因此,它会查找第一个可用的view,并为您获取第一个DIV的ID。

考虑使用$(this)获取所点击元素的最近ID。

$(".view").click(function() {
    var id = $(this).closest("div").attr("id");
}); 

别忘了阅读这篇文章&#34; jQuery this &#34;:http://remysharp.com/2007/04/12/jquerys-this-demystified/