2011-04-20 54 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”,并抓取该表格行中的第一个锚点元素。