如何在新元素的jquery中获得第n个子元素

时间:2013-06-24 04:53:38

标签: jquery css-selectors

我使用jquery创建了表行:

var tableRow = $("<tr>").append($("<td>").text("one"))
                        .append($("<td>").text("two"))
                        .append($("<td>").text("three"));

现在我将它添加到文档中的表中:

$("#table_id").append(tableRow);

我要做的下一件事是在上面创建的tableRow的某些单元格上设置click事件。我想为此目的使用第n个子选择器。但是从文档中可以看出,它可以与一些选择器一起使用,如:

$("ul li:nth-child(2)")

但现在我需要将:nth-child()用于变量tableRow。 怎么可能?

4 个答案:

答案 0 :(得分:13)

  

我想为此目的使用第n个子选择器。

在这种情况下,您可以使用.find()

cell = tableRow.find(':nth-child(2)');
cell.on('click', function() {
    ...
});

答案 1 :(得分:2)

您可以将.find()nth-child

一起使用
tableRow.find('td:nth-child(2)')

或者在这种情况下,您可以使用.children(),这可能更好

tableRow.children('nth-child(2)')

答案 2 :(得分:0)

尝试.eq()喜欢

 $("#table_id tr td:eq(1)")

或者您可以直接从tableRow调用

$(tableRow + "tr td:eq(1)")

答案 3 :(得分:0)

你动态创建了元素,所以你必须使用以下结构,如果它是静态创建的(即:用HTML创建,你可以使用你提到的ul)

$('#table_id').find(":nth-child(2n)")

DEMO