2011-10-17 3 views
0

나는이 HTML이 클릭 할 때 동적으로 생성 된 사업부 가치를 찾기 : 누군가가 저를 클릭 버튼을 클릭하면JQuery와 - 다른 버튼을

<div id="list1">info needed for jquery script</div> 
<tr> 
<td><button class="button green">Click Me</button></td> 
<td></td> 
<td></td> 
</tr> 
<div id="list2">info needed for jquery script</div> 
<tr> 
<td><button class="button green">Click Me</button></td> 
<td></td> 
<td></td> 
</tr> 

, 어떻게 내가 버튼을 기반으로 그럴 전에 사업부를 얻을 수 있습니다 그들은 클릭 했습니까? 따라서 첫 번째 클릭을 클릭하면 list1의 값을 얻습니다. 두 번째 Click Me 버튼을 클릭하면 list2라는 div의 내용을 가져옵니다. div의 id는 동적으로 작성되므로 list25 또는 list100이 될 수 있습니다. 그러나 항상 단어 목록 다음에 숫자 값이옵니다.

+0

HTML은 유효하지 않으므로 ('

'안에 넣은 후에도) 유효하지 않으려면 브라우저가 재정렬합니다. 그러나 HTML을 수정하여 브라우저가 휴대용 솔루션을 찾을 수 없다는 것을 알지 못합니다. HTML을 수정하고 다시 시도하십시오. –

+0

HTML이 표준이 아니기 때문에 * mu가 너무 짧음에 동의합니다 .HTML을 수정할 수 있습니까? – kst

답변

0

테이블 내에서 유효하지 않은 div를 무시합니다.

$("button").click(function() { 
    var value = $(this).parents("tr").prev("div").text(); 
}); 
+1

jQuery에는'previous()'메소드가 없습니다. – alex

+0

미안 해요, 내 머리 꼭대기에서 떨어져있었습니다. 업데이트 됨. –

+0

잘못된 HTML은 무시할 수 없습니다. WebKit 브라우저 또는 Firefox에서 시도하십시오. http://jsfiddle.net/ambiguous/7yX2Z/ –

0

글쎄, 난 이벤트가 발생한다 '클릭', '이'변수가 객체가 될 것이다 때 당신은 그냥

<div id='parent_node'> 
    <div id="list2">info needed for jquery script</div> 
    <tr> 
    <td><button class="button green">Click Me</button></td> 
    <td></td> 
    <td></td> 
    </tr> 
    </div> 

처럼, 태그 및 다른 사업부에 버튼을 모두 포함해야한다고 생각하는

$(".button_green").click(function(){ 
    alert($(this).siblings()[0].innerHTML); 
}) 
0

여기에 내가 해냈어 방법은 다음과 같습니다 :

당신처럼 원하는 값을 찾기 위해 부모 노드 안에 통과 할 this.parent() 또는 this.siblings()를 사용할 수 있도록 이벤트를 트리거
$("button.button.green").click(
    function (event) { 
     var button = $(this); 

     console.log(button.prev("div").text()); 
    }); 

HTML이 제대로 구성되지 않았기 때문에 (테이블이없는 테이블 요소가 있음) 정확히 작동하지 않을 수 있습니다. 이 jsFiddle에서 볼 수 그러나, 그것은 작동 :

http://jsfiddle.net/JohnMunsch/VX3DR/

당신이있어 일단 당신의 HTML은 당신이 관심있는 요소에 도착하면 전화 이송 기능을 조정할 싶을 것이다 확정 에서 내가 .prev 사용()하지만, jQuery를 사용 가능한 선택 여기를 참조 같은 많은 기능을 가지고 위 :.

http://api.jquery.com/category/traversing/

을 그들은 당신이 DOM을 통과하기 위해, 당신이 요소에서 가서 서로를 찾을 수 있습니다 요소.

관련 문제