2011-04-20 84 views
1

我試圖在表格行內找到一個子元素。代碼位於下面的鏈接中。我無法在表格行中找到錨標籤。我在這裏做錯了什麼?查找表格行內的子元素(錨點標記)

http://jsfiddle.net/vXwNJ/2/

<a href="##" class="clickevent">Click Here</a> 
<table> 

<tr id="test_tr"> 
    <td> 
     <a href="##" class="secondlink">Add New Row</a> 
    </td>  
</tr> 
<table> 

JS:

$(document).ready(function() { 
    $(".clickevent").click(function(e){ 
     e.preventDefault(); 
     alert($("#test_tr").find(".secondlink").tagName); 
    }); 

}); 
+1

有了這個小代碼,最好直接在這裏發佈。我繼續前進並複製粘貼它。 – 2011-04-20 19:50:12

回答

2

使用$("#test_tr").find(".secondlink")[0]訪問與jQuery對象相關聯的DOM元素。使用[1]會指向第二個匹配的DOM元素,依此類推...

+0

感謝您的回覆。有用。還有可能有一些像$(「#test_tr」)find(「。secondlink」)。attr('onClick','alert(「hello」); e.preventDefault();') – DG3 2011-04-20 19:54:19

+0

更好的是(「#test_tr」)。find(「。secondlink」)。click(function(e){alert(「hello」); e.preventDefault();}); – BMiner 2011-04-20 19:57:01

4

你必須記住,有的jQuery元對象和實際元素之間的差異。

alert($("#test_tr").find(".secondlink")[0].tagName); 

[0]作品因爲jQuery也DOM元素對象的數組,還有$.get

0

在這裏你去,.find()返回元素的列表,你需要得到的第一個。

$("#test_tr").find(".secondlink")[0].tagName

1

這是我在表格中實現「雙擊行」行爲時的操作,然後它簡單地遵循嵌入的錨點href在每一行中的一個單元格中。

$("#table_id tr").dblclick(function(e){ 
if(e.target.parentNode.rowIndex){ 
    window.location = $("#table_id tbody tr:eq("+(e.target.parentNode.rowIndex-1)+") a:last").attr(href); 
} 
}); 

注意「a:last」部分,這將抓取表格行中的最後一個錨元素。您也可以製作此「a:first」,並抓取該表格行中的第一個錨點元素。