jquery replaceWith replaceAll

來源:互聯網
上載者:User

<body><br /><mce:script type="text/javascript"><!--<br />function addHTML()<br />{<br /> var p=$("#hello")<br /> p.add("<span>AAAAAAAAAAAAAAAAAAAAAAAAa</span>")<br /> alert(p.html());<br /> $("<span>AAAAAAAAAAAAAAAAAAAAAAAAa</span>").replaceAll($("#hello"));<br />}<br />// --></mce:script><br /><p id='hello'>Hello </p><br /><input type="button" value="add" onclick="addHTML()"/><br /></body>

replaceAll 其實是對所有的拿一個替換另外一個。

之前 是對p拿p標籤進行一系列的add方法操作之後進行的替換,結果,我發現我錯了。

 

那麼就得說說這個add了。

我首先在script標籤中進行add操作,但是頁面沒有反應,可以想象,add僅僅對內存進行操作,而不會反應到頁面上。

這個add貌似是僅僅對jquery對象進行一個操作,雖然可能改變了內容,但是,從地址上來講還是原來的那個對象。

所以,後來我針對我寫了一個p.replaceAll($($hello));  替換的結果是一片空白。

看了api明白,原來替換是那一個對象去替換另外一個對象,

那麼我用p替換自己。猜測jquery進行的順序是,先剪下p然後準備網p那個地方放。但是,卻發現,頁面中已經沒有則個p了。

所以就造成了替換結果是空白。

那麼我在內存中建立一個jquery對象,拿去替換這個p,就沒有任何的問題。

 

太嵗了。add傳回值是一個元素集合,不是添加元素的,而是為尋找整一個方便的東西。也就是說,選擇器本身選擇了兩個,但是,你可以在串聯上一個新的你建立的或者別的元素。。。。很失敗。那麼想實現這個思路就只能藉助於prependTo那四個方法了。

所幸,解決了。。不過,基礎很重要,嘿嘿。

<body><br /><mce:script type="text/javascript"><!--<br />function addHTML()<br />{<br /> var p=$("#hello");<br /> p.append($("<input type='button'/>").attr("value","value"));<br />}<br />// --></mce:script><br /><p id='hello'></p><br /><input type="button" value="add" onclick="addHTML()"/><br /></body>

那麼這樣,就基本能達到要求了!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.