亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

remove問題 jQuery基礎二 DOM篇 4-2

為什么第一次remove了p元素,第二次remove的時候還要將前面的p算上,:contains('3')而不是:contains('1'),這樣說,內部是不是依然沒有刪除的,只是不顯示

正在回答

2 回答

首先,你對contains篩選的理解可能不太對,contains('3')的意思不是篩選出索引的第三個元素,而是篩選出文本內容包含'3'的元素。所以,執行了remove方法之后是刪除了test1中的p元素的。

0 回復 有任何疑惑可以回復我~

首先你要明白:contains()選擇器的用法

http://img1.sycdn.imooc.com//57e761a50001cba805160506.jpg

也就是說

$("p").remove(":contains('3')")

這一句代碼的含義不是指刪除第三個p元素,而是指刪除text中含有3的p元素。因此當你刪除p元素3后,再次點擊自然不會繼續remove p元素。

為了加深你的理解:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title></title>

<link rel="stylesheet" href="">

<style>

.btn

{

cursor:pointer;

}

</style>

</head>

<body>

<div class="test1">

? ? ? ? <p>p元素1</p>

? ? ? ? <p>p元素2</p>

? ? </div>

? ? <div class="test2">

? ? ? ? <p>p元素3</p>

? ? ? ? <p>p元素4</p>

? ? </div>

<div id="btn_remove" class="btn">刪除第二個p元素</div>

<script type="text/javascript" src="js/jquery-1.11.3.min.js">

</script>

<script type="text/javascript">

$("#btn_remove").on("click",function()

{

var length = $("p").length;

index = 0;

$("p").each(function()

{

if(index == 1)

{

$(this).remove();

}

index++;

})

})

</script>

</body>

</html>

當你點擊刪除第二個p元素后,

57e762fa0001725901950179.jpg

p元素2會被刪除

57e762fa000174a401810148.jpg

當你點擊刪除第二個p元素后

57e762fb0001d23801900117.jpg

p元素3會被刪除(因為此刻p元素3位于p元素集合中第二個位置)

不知道這樣講,你明白了嗎?還有問題可以聯系我。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

remove問題 jQuery基礎二 DOM篇 4-2

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號