我已经将元素插入到 DOM 中appendTo()
。我试图从附加元素内部遍历 DOM,以获取对附加元素附加到的元素的引用。但这似乎对我不起作用。我通过将结果输出parent()
到控制台进行了一些故障排除。每次我退后一级时,我都会得到一个结果,parent()
直到我到达附加元素的父级。此时parent()
返回一个空集。
以下是说明此问题的代码示例:
<div class="menu">
<span class="like current"></span>
<span class="done"></span>
<span class="add"></span>
<span class="report"></span>
<div class="panel">
<div class="panel-content">
<p>This function is not yet implemented</p>
<p>
<a class="cancel" onclick="cancel_panel(this)">Cancel</a>
</p>
</div>
</div>
</div>
div.panel
已附加到div.menu
withappendTo()
并div.panel-content
已附加到div.panel
withappendTo()
我想要实现的是current
从span.like
单击取消链接中删除类。
我试过了:
$(elem).closest("div.menu").children("span.current").removeClass("current");
a
(其中 elem 是对取消链接元素的引用)
但它不起作用。$(elem).closest("div.menu")
返回一个空集而不是div.menu
在进一步的故障排除中,$(elem).parent()
给了我对p
标签$(elem).parent().parent().parent()
的预期引用,给了我对div.panel
. 但$(elem).parent().parent().parent().parent()
返回一个空集。
这里发生了什么?遍历 DOM 时,附加元素的响应方式是否与真实元素不同?jquery 是否会通过嵌套追加来松散情节?我怎样才能获得对 back to the 的引用div.menu
?