2011-12-24 7 views
1

와 형제 요소를 선택 :, 나는이 코드를 가지고 JQuery와

<div class="item"> 
    <div class="hidden">44</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnAddCommentForAnswer').click(function() { 
      alert(XXX); 
     }); 

    }); 
    </script>  
</div> 

<div class="item"> 
    <div class="hidden">12</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnAddCommentForAnswer').click(function() { 
      alert(XXX) 
     }); 

    }); 
    </script> 
</div> 
나는 내가에있는 버튼을 누르면 숨겨진 클래스 사업부 =의 내용을 얻을 XXX에 넣어해야하는지 코드

class = item과 같은 div입니까?
첫 번째 버튼을 클릭하면 당신이 (44)를 받아야하고, 두 번째 버튼을 클릭 당신이 얻을 12

답변

4

첫째, id's이에 의미 유일하다; 아마도 idclass으로 변경해야합니다.

$(document).ready(function() { 
    $('.btnAddCommentForAnswer').click(function() { 
     alert($(this).siblings('.hidden').text()); 
    }); 
}); 

여기 JSFiddle 예제 : JSFiddle

그리고 기록을 위해, 당신은 필요에를하지 않는 장소에두고 , 당신은 당신이 원하는 것을 달성하기 위해 다음과 같이 스크립트를 사용할 수 스크립트에 두 개의 스크립트 태그가 있어야합니다. 이 하나의 스크립트는 <script> 태그로 싸여 있습니다.

1

이 시도하지 않은하지만이 작동합니다 :

$(this).closest('div').text() 
0

자바 스크립트 코드를 여러 번 반복 할 필요가 없습니다. 또한 jquery에서 id가 같은 id를 사용할 수 없습니다. 다음은 문제를 해결할 수있는 jsfiddle http://jsfiddle.net/t8XJZ/입니다.

0

어쩌면이 ... 당신을 위해 더 유용

JQuery와 :

$(document).ready(function() { 
    $('.item').each(function(){ 
     $(this).find("#btnAddCommentForAnswer").click(function() { 
      alert($(this).prev(".hidden").text()) 
     }); 
    }); 
}); 

HTML :

<div class="item"> 
    <div class="hidden">44</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
</div> 

<div class="item"> 
    <div class="hidden">12</div> 
    <input type="submit" id="btnAddCommentForAnswer" value="Add Comment" /> 
</div> 
관련 문제