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

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

.replaceWith和.replaceAll返回值是不是不一樣???

<script?type="text/javascript">

????$(".bt1").on('click',?function()?{
????????//找到內容為第二段的p元素
????????//通過replaceWith刪除并替換這個節點
????????$(".right?>?div:first?p:eq(1)").replaceWith('<a>replaceWith替換第二段的內容</a><br?/>').appendTo($("body"));
????})
????</script>
????<script?type="text/javascript">
????//找到內容為第六段的p元素
????//通過replaceAll刪除并替換這個節點
????$(".bt2").on('click',?function()?{
????????($('<a?style="color:red">replaceAll替換第六段的內容</a><br?/>').replaceAll('.right?>?div:last?p:last')).appendTo($("body"));
????})
????</script>

我發現 .replaceWith返回的是替換前的節點,也就是原來的節點,.replaceAll返回的是替換后的節點,就是用來替換的節點。上面的代碼點擊bt1,原來的節點會被移動到最后,點擊bt2,替換后的節點會顯示在最后,原來節點所在的位置被刪除了。

正在回答

4 回答

這兩個返回值確實是不一樣

????var?result=$(".right?>?div:first?p:eq(1)").replaceWith('<a>replaceWith替換第二段的內容</a>')
????alert(result.get(0).tagName)//返回?p
var?result=$('<a>replaceAll替換第六段的內容</a>').replaceAll('.right?>?div:last?p:last');
????alert(result.get(0).tagName)//返回?a


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

返回的都是要被刪除的節點的吧!

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

返回都是被刪除的節點

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

素水凌心 提問者

這是一個網站的解釋: 返回值 replaceAll()函數的返回值為jQuery類型,返回表示替換內容的jQuery對象。 與被替換掉的節點關聯的所有數據和事件處理器也將同時被移除。 請注意replaceAll()和replaceWith()函數之間的區別: var $A = $("s1"); var $B = $("s2"); // 將$B替換成$A $A.replaceAll( $B ); // 返回表示替換內容的jQuery對象( 匹配替換掉$B的所有$A元素 ) // 將$A替換成$B $A.replaceWith( $B ); // 返回$A
2016-07-29 回復 有任何疑惑可以回復我~

我不太明白你說什么,但你要注意(".right?>?div:first?p:eq(1)")里面的p:eq(1)的意思,同理也要注意p:last。

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

素水凌心 提問者

我是說 ($('<a style="color:red">replaceAll替換第六段的內容</a><br />').replaceAll('.right > div:last p:last')) 這個東西返回的結果不是替換前的 <p>第五段</p> ,而是替換后的 <a style="color:red">replaceAll替換第六段的內容</a><br />
2016-07-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

.replaceWith和.replaceAll返回值是不是不一樣???

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

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

幫助反饋 APP下載

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

公眾號

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