<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>
那麼這樣,就基本能達到要求了!