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

我使用jquery创建了表行:

var tableRow = $("").append($("").text("one")) .append($("").text("two")) .append($("").text("three")); 

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

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

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

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

但现在我需要使用:nth-child()作为变量tableRow。 这怎么可能?

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

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

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

你可以使用.find()和nth-child

 tableRow.find('td:nth-child(2)') 

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

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

尝试使用.eq()类的

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

或者你可以直接从tableRow调用

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

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

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

DEMO