Re: [問題] [javascript] 如何在innerhtml後 還能뀠…

看板Ajax作者 (銀色)時間17年前 (2007/10/01 00:40), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《SearchNow ( )》之銘言: [蘇姍] defer 不是用來延遲顯示的嗎? o_oa" 我不知道還可以這樣用 有一個解法不知是否合適,也不需要用到 defer, 你可以試試看~ 既然可以解出 script tag 了,那麼應該也可以區分出是 script 包裹的段落 以及非 script 包裹的段落吧。 無論是原本的 html ,或要加載的 html ,假設為以下: <div>123</div> <script language="javascript">alert ('456');</script> <div>789</div> <script language="javascript">alert ('1010');</script> 在 parse 時,按順序以下面分類方式 parse <div>123</div> <script language="javascript">alert ('456');</script> <div>789</div> <script language="javascript">alert ('1010');</script> 其中紅色在 parse 過去後,一律產生為(parse 出一個段落就產生一組): h = document.createTextNode (""); h.data = "xxxx" 灰色部份揚棄,黃色則產生為(parse 一個區塊就產生一組): s = document.createElement ('script') s.type = 'text/javascript' s.text = "xxxx" 最後在重新置入 <div id="test"></div> 時,不要用 innerHTML, 改成依序 appendChild 所有剛剛產生的 node。 這樣接回去的不但不會有問題,可以順利執行, 而且當你 alert test 這個 div 的 innerHTML 時,所有的東西也都乖乖躺在裡面了, 無論是 IE or MF。 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.130.248

10/01 22:40, , 1F
哇 謝謝大師 這想法我從來沒有想過 謝謝您 這就去試試!!
10/01 22:40, 1F

10/02 00:06, , 2F
我不是大師啊啊啊 orz
10/02 00:06, 2F
文章代碼(AID): #16_z5mj- (Ajax)
文章代碼(AID): #16_z5mj- (Ajax)