我已將元素插入到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