過 jQuery,可以很容易地刪除已有的 HTML 元素。
刪除元素/內(nèi)容
如需刪除元素和內(nèi)容,一般可使用以下兩個 jQuery 方法:
remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素
jQuery remove() 方法
jQuery remove() 方法刪除被選元素及其子元素。
實例
$("#div1").remove();
jQuery empty() 方法
jQuery empty() 方法刪除被選元素的子元素。
實例
$("#div1").empty();
過濾被刪除的元素
jQuery remove() 方法也可接受一個參數(shù),允許您對被刪元素進行過濾。
該參數(shù)可以是任何 jQuery 選擇器的語法。
下面的例子刪除 class="italic" 的所有 <p> 元素:
實例
$("p").remove(".italic");
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
節(jié)我們學(xué)習(xí)如何使用 jQuery 中的方法來添加和刪除 HTML 元素。
jQuery 中用于添加 HTML 元素的方法有如下幾種:
方法 | 描述 |
append() | 在所選元素的末尾插入內(nèi)容 |
prepend() | 在選定元素的開頭插入內(nèi)容 |
after() | 在選定元素后插入內(nèi)容 |
before() | 在選定元素之前插入內(nèi)容 |
而用于刪除元素的方法有:
方法 | 描述 |
remove() | 刪除被選元素容,包括子元素 |
empty() | 刪除被選元素的所有子節(jié)點和內(nèi)容 |
append() 方法可以在指定元素的末尾插入內(nèi)容。
語法如下:
$(selector).append(content,function(index,html))
我們來看下面這個例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_俠課島(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$("button").click(function(){
$("p").append("俠課島");
});
});
</script>
</head>
<body>
<p>你好,我的名字叫做:</p>
<button>點擊追加文本</button>
</body>
</html>
點擊按鈕,在指定的 <p> 標簽?zāi)┪蔡砑游谋緝?nèi)容 “俠課島”,我們可以在瀏覽器中看一下演示結(jié)果:
除了文本內(nèi)容,我們還可以在元素中添加 HTML :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_俠課島(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$("button").click(function(){
$("ul").append("<li>strawberry</li>");
});
});
</script>
</head>
<body>
<ul>
<li>apple</li>
<li>pear</li>
<li>peach</li>
<li>watermelon</li>
</ul>
<button>點擊追加文本</button>
</body>
</html>
在瀏覽器中的演示結(jié)果:
prepend() 方法其實和 append() 方法類似,語法也差不多。但是 prepend() 方法主要用于在被選元素的開頭插入指定內(nèi)容。
語法如下:
$(selector).prepend(content,function(index,html))
我們將上述示例中的 append() 方法改成 prepend() 方法:
$(function(){
$("button").click(function(){
$("ul").prepend("<li>strawberry</li>");
});
});
然后看一下在瀏覽器中的演示結(jié)果:
after() 方法用于在被選元素后插入指定的內(nèi)容。看起來 after() 方法和 append() 方法的作用好像差不多,但是其實兩個方法還是有區(qū)別的。 append() 方法是在被選元素的結(jié)尾插入內(nèi)容,插入的內(nèi)容仍然在元素內(nèi)部。而 after() 插入的內(nèi)容會重新起一行,與被選擇的元素并沒有什么邏輯上的聯(lián)系。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_俠課島(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$("button").click(function(){
$("p").after("<p>俠課島</p>");
});
});
</script>
</head>
<body>
<p>你好,我的名字叫做:</p>
<button>點擊追加文本</button>
</body>
</html>
在瀏覽器中的演示效果:
before() 方法用于在被選元素之前插入指定的內(nèi)容。它和 prepend() 方法的區(qū)別在于一個在被選元素內(nèi)插入內(nèi)容,一個在被選元素外。
注意 before() 方法和 after() 方法都是在被選元素外插入內(nèi)容。append() 和 prepend() 方法都是在被選元素內(nèi)插入內(nèi)容。
例如將上述示例中的方法改為 before:
$(function(){
$("button").click(function(){
$("p").before("<p>俠課島</p>");
});
});
在瀏覽器中的演示效果:
remove() 方法用于刪除被選元素及其子元素。該方法也會刪除被選元素的數(shù)據(jù)和事件。
例如下面這個例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_俠課島(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$("button").click(function(){
$("p").remove();
});
});
</script>
</head>
<body>
<p>你好,歡迎來到俠課島!</p>
<button>點擊刪除</button>
</body>
</html>
在瀏覽器中的演示效果:
從上圖中可以看到,remove() 方法將指定的 p 元素連標簽帶元素全部刪除。
empty() 方法用于刪除被選元素的所有子節(jié)點和內(nèi)容。該方法不會移除元素本身,或它的屬性。
我們講上述示例中的 remove() 方法改為empty() 方法,看看有什么不同:
$(function(){
$("button").click(function(){
$("p").empty();
});
});
在瀏覽器中的演示效果:
可以看到 empty() 方法只會刪除指定元素中的內(nèi)容,不會刪除元素本身,當然如果元素上有屬性,屬性也不會被刪除,大家可以自己試一下。
解如何使用 JavaScript 通過 ID 輕松刪除 HTML DOM 中的元素。
在本文中,我們將學(xué)習(xí)如何使用 JavaScript 通過 ID 輕松刪除 HTML DOM 中的元素。
元素 remove() 方法
要按 ID 刪除 DOM 元素,請使用 getElementById() 方法選擇具有 ID 的元素,然后對該元素調(diào)用 remove() 方法。
例如:
索引.html
<!DOCTYPE html>
<html>
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
<div class="box" id="box-1">This is a box</div> <script src="index.js"></script>
</body>
</html>
以下是我們?nèi)绾蝿h除具有 box-1 id 的元素:
index.js
const box = document.getElementById('box-1');
box.remove();
getElementById() 方法接受一個字符串并返回 DOM 中具有與該字符串匹配的 ID 的元素。
如果沒有匹配 ID 的元素,getElementByID() 將返回 null。
index.js
const box = document.getElementById('box-5');
console.log(box); // null
如果沒有帶有 ID 的 DOM 元素,我們可以使用可選的鏈接運算符 (?.) 來調(diào)用 remove() 以避免導(dǎo)致錯誤。
可選的鏈接運算符不會導(dǎo)致錯誤,而是會阻止方法調(diào)用并返回未定義的。
index.js
const box = document.getElementById('box-5');
box?.remove(); // no error thrown
如何在不移除子元素的情況下移除 DOM 元素
remove() 方法刪除一個 DOM 元素及其子元素。 如果想要將元素的子元素保留在 DOM 中怎么辦?
索引.html
<!DOCTYPE html>
<html>
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body> <div id="parent">
<p>Child 1</p>
<p>Child 2</p>
</div> <script src="index.js"></script>
</body>
</html>
要移除 ID 為 parent 的 div 元素但保留其子元素,我們可以在 div 上調(diào)用 replaceWith() 方法,將元素的子元素作為參數(shù)傳遞。
index.js
const element = document.getElementById('parent');element.replaceWith(...element.childNodes);
現(xiàn)在文檔的標記將如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Coding Beauty Tutorial</title>
</head>
<body>
<p>Child 1</p>
<p>Child 2</p> <script src="index.js"></script>
</body>
</html>
childNodes 屬性返回元素的子節(jié)點列表。 我們使用它來獲取元素的子元素。
replaceWith() 方法用一組 Node 或字符串對象替換 DOM 中的元素。 我們在元素上調(diào)用它以用子元素替換它。
關(guān)注七爪網(wǎng),獲取更多APP/小程序/網(wǎng)站源碼資源!
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。