2011-10-17 65 views
0

我有這個網站動態創建的div查找值: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> 

如果有人點擊了點擊我的按鈕,我怎麼能獲得TR前股利根據按鈕他們點擊了?因此,如果他們點擊第一次點擊我,它會得到list1的值,如果他們點擊第二個Click Me按鈕,它會獲取名爲list2的div中的內容。 div的id是動態創建的,因此它可以是list25或list100。但它始終始於單詞列表和數字值。

+0

您的HTML無效(甚至在將其放入'

'之後也沒有),因此瀏覽器將重新排列它以使其有效。但是,您不知道瀏覽器將如何解決這個問題,因此沒有可移植的答案。修復您的HTML並重試。 –

+0

我同意* mu太短*因爲你的HTML不是標準的。你可以修改你的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> 

當「click」事件被觸發,「這個」變量將成爲對象觸發事件,那麼你可以使用this.parent()或this.siblings()的父節點內的遍歷找到任何你想要的值,如:

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

我是這樣做的:

$("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另謀元件。

相關問題