[英]JQuery - $(#).remove() vs document.getelementbyid().remove
本來我有這樣的刪除功能:
function ViewWorkflowDetail(btn, workflowId) {
$("#workflowDetailPanel").remove();
if (document.getElementById("workflowDetailPanel") == null) {
// Do something usefull here
}
}
哪個工作出色。 但是(本着使用盡可能多的JQuery的精神),我將其更改為:
function ViewWorkflowDetail(btn, workflowId) {
$("#workflowDetailPanel").remove();
if ($("#workflowDetailPanel") == null) {
// Do something usefull here
}
}
但是現在$("#workflowDetailPanel")
不再為null。 如果我再次將其更改回(至document.getElementById)
,則不再有問題。 為什么第二個選項繼續查找該div? 是否以某種方式在某種緩存中維護了JQuery對象?
注意:完全相同的設置/數據用於測試兩種情況。
它永遠不會為null,因為如果元素不存在,jQuery將返回一個空數組,因此您必須檢查數組的長度
if ($("#workflowDetailPanel").length > 0) {
// Do something usefull here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.