我已将元素插入到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.menu
与appendTo()
和div.panel-content
已追加到与appendTo()
我试图实现点击“取消”链接,从span.like
中删除类current
。
我已经试过:
$(elem).closest("div.menu").children("span.current").removeClass("current");
(其中ELEM是参照取消链接的a
元素)
但它不工作。 $(elem).closest("div.menu")
返回一个空集,而不是div.menu
在进一步的故障排除,$(elem).parent()
给了我预期的参考p
标签,$(elem).parent().parent().parent()
给了我预期的参考。但$(elem).parent().parent().parent().parent()
返回一个空集。
这是怎么回事?遍历DOM时,附加元素不会以与真实元素相同的方式响应吗? jquery是否使用嵌套追加来释放阴谋?我怎样才能得到回div.menu
的参考?
跨度通常不会自闭。你的文档类型是什么? – j08691
在他们不是真正的代码 - 代码在这里只是截断/简化的目的的问题 – AidanCurran
似乎在这里工作... http://jsfiddle.net/hungerpain/mEJbF/1/ 所有我改变了是我拿出'onclick'并将它变成jQuery的'click'事件 – krishgopinath