目标在函数中动态创建 HTML 元素(用于追加事件——不是点击!)jQuery

Target dynamically created HTML element in function (for append event-- not click!) jQuery

我想在另一个动态创建的 table 行中定位一个动态创建的 HTML table 元素,以便在子 [=25] 中附加一个 table 行=] 在最后一个子 table 行之前。我不想将点击事件附加到这个动态创建的元素,这是我似乎到处都能找到的答案。我想在特定的 table 行(this.closest("tr") 中定位特定的子 table(.subTable),这是我想要的行中的 .buttonHere 单元格以子 table 元素为目标)在最后一行之前附加另一个 table 行 (class .subTableLastRow).

所以如果我有:

$("#mainTable").on("click",".buttonHere", function () {
    $(this.closest("tr") > ".subTable" > ".subTableLastRow").before("<tr><td>another row</td><td>with two cells</td></tr>");

这是乱七八糟的代码,显然行不通,我只是想解释一下我想做什么。我希望这是有道理的。关于如何在另一个动态创建的父元素中定位一个动态创建的子元素的简单答案将有很大帮助,显然我迷路了。

我认为您的 jQuery 选择器格式不正确。

$(".subTable .subTableLastRow", $(this).closest('tr')).before("<tr><td>another row</td><td>with two cells</td></tr>");

此外,当尝试访问 this 上的 jQuery 方法时,您必须将其包装在 jQuery 选择器中,即 $(this)。这将使它成为一个 jQuery 对象,然后您可以使用 jQuery 方法。