簡體   English   中英

為什么 empty() 方法在 jQuery 中不起作用?

[英]Why empty() method does not work in jQuery?

我的代碼很簡單。 這是我對 jQuery 的練習

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>node_jQueryAPI</title>
    <script src="jquery/jquery.js"></script>
</head>

<body>
   <div class="target" id="target1">
       content1
   </div>
   <div class="target" id="target2">
       content2
   </div>

</body>
</html>

我在這段代碼中的目的是測試 jQuery 方法 remove() 和 empty(); (刪除#target1 並清空#target2)

$('#target1').remove();
$('#target2').empty();

這在 Chrome 的控制台中運行良好。

但如果我使用 JavaScript 代碼

var targets = document.getElementsByClassName('target');
targets[0].remove(); // This is working well
targets[0].empty(); // This is never working!!!! This is my Question!, Why!?!!??

請幫幫我~!! 謝謝你

如果您嘗試測試 jQuery 方法remove()empty()那么您需要包裝在 jQuery 中檢索的 DOM 元素,以便在其上調用 jQuery 函數。 像這樣:

var targets = document.getElementsByClassName('target');
$(targets[0]).remove(); //will remove the first element with class `target` from the DOM
$(targets[1]).empty(); //will empty the contents of the second element with class `target` in the DOM (i.e: remove the text `content1`)

請確保您的頁面中也包含 jQuery 腳本。 沒有在 jQuery 中包裝 DOM 元素,您就是在調用普通的 javascript 函數。 在 javascript 中, remove()存在(用於從選擇列表中刪除一個選項)而empty()不存在

純 JavaScript 中沒有稱為empty()方法。 如果你想清空一個元素,有幾種方法可以做到。 最直接的方法之一是簡單地將元素的內部 HTML 分配給一個空字符串,如下所示:

 document.querySelector("div").innerHTML = "";
 <p>The following div is now empty</p> <div>ABC</div>

但是,您可以創建一個可重用的函數empty() ,它將接受一個元素並像這樣清空它的內容:

 /* JavaScript */ function empty(x) { x.innerHTML = "" } //You can now empty as many elements as you want using the reusable empty() function created above var a = document.getElementById("aaa"); var b = document.getElementById("bbb"); var c = document.getElementById("ccc"); empty(a); empty(b); empty(c);
 <!-- HTML --> <p>All three divs below are now empty:</p> <div id="aaa">ABC</div> <div id="bbb"><p>XYZ</p></div> <div id="ccc"><div>123</div></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM