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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用jQuery從父元素中刪除文本(不刪除內部元素)

如何使用jQuery從父元素中刪除文本(不刪除內部元素)

阿波羅的戰車 2020-02-02 13:56:01
想象一下,我有以下類似的東西(從http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/修改)<div id="foo">    first    <div id="bar1">        jumps over a lazy dog!    </div>    second    <div id="bar2">        another jumps over a lazy dog!    </div>    third</div>如何在不影響任何子元素的情況下從DOM中僅刪除(僅文本)“第一”,“第二”和“第三”。
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

如果要刪除所有子文本節點,則可以使用.contents(),然后.filter()將匹配集減少為僅文本節點:


$("#foo").contents().filter(function () {

     return this.nodeType === 3; 

}).remove();

這是一個有效的例子。


注意:這將保留子元素上所有現有的事件處理程序,使用答案.html()不會做(因為從DOM中刪除了這些元素并重新添加了這些元素)。


注2:一些鏈接的問題中的答案顯示的代碼與我的答案中的代碼相似,但它們使用nodeType常量(例如return this.nodeType === Node.TEXT_NODE)。這是不好的做法,因為低于版本9的IE無法實現該Node屬性。使用整數(可以在DOM 2級規范中找到)更安全。


查看完整回答
反對 回復 2020-02-02
  • 3 回答
  • 0 關注
  • 1086 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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