2013-06-28 4 views
0

다른 onclicks에서 id attr을 얻으려고합니다.jQuery 클릭시 복수 id 속성 가져 오기

내가 가진 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> 

첫 번째보기를 클릭하면 두 번째보기를 클릭해도 아무런 변화가 없지만 "이름 -1"이 표시됩니다. 또한 두 번째 이름을 클릭하면 "이름 -1"이 표시됩니다. 이 문제는 해결하기 쉽지만 금요일이므로 도움에 감사드립니다.

답변

4

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

은 지금 현재 코드가 누구의 클릭 이벤트 트리거 된 .view보다는 페이지의 첫 번째 .view에서 찾고있다

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

로 변경합니다.

1

이유는 가장 가까운 ID를 얻기 위해 view 클래스 선택기를 사용하고 있기 때문입니다. 따라서 첫 번째로 유효한 view을 찾고 처음에는 DIV의 ID를 얻습니다.

클릭 한 요소에 가장 가까운 ID를 얻으려면 $(this)을 사용해보십시오.

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

는 "jQuery를이"에이 글을 읽을 것을 잊지 마십시오 : http://remysharp.com/2007/04/12/jquerys-this-demystified/

관련 문제