在表行中查找子元素(锚标记)

时间:2011-04-20 19:46:59

标签: jquery

我正在尝试在表格行中查找子元素。代码位于以下链接中。我无法在表格行中找到锚标记。我在这里做错了什么?

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);
    });

});

5 个答案:

答案 0 :(得分:4)

您必须记住 jQuery Element 对象与实际的 Elements 之间存在差异。

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

执行[0]是有效的,因为jQuery也是DOM Element对象的数组,还有$.get

答案 1 :(得分:2)

使用$("#test_tr").find(".secondlink")[0]访问与jQuery Object关联的DOM元素。使用[1]将指向第二个匹配的DOM元素,依此类推......

答案 2 :(得分: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”并抓取该表行中的第一个锚元素。

答案 3 :(得分:0)

如果您想获得链接的“内容”,请使用.html()

http://jsfiddle.net/vXwNJ/8/

答案 4 :(得分:0)

在这里,.find()返回一个元素列表,你需要得到第一个元素。

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