精華區beta Ajax 關於我們 聯絡資訊
感謝大家的回應m(_ _)m 原來可以用createTextNode這招(筆記) 但其實我想解的問題是… 如果針對某一個<div id="div1">,他的child有若干個text node和img node夾雜 然後我想要放一個input給user輸入要搜尋的字串str 然後如果div1裡面有某個text node當中,有包含str 則在str前後加上<b>和</b> 看了一下各位大大的方法… 應該可以把有包含str的text node先找出 (放到node_array) 然後針對node_array中每個元素,根據str去split,然後再一段一段的放在new_node 再拿new_node去replace原本node_array中的元素 這樣應該可以作到不更動innerHTML的狀況下去動態為單一textNode插入<b> </b> 那…這樣算是最簡化的方法了嗎? 心目中最理想的方法是… 針對某個包含str的text node, 如果str在text node的第 x 個位置 就直接把 第x個位置的str先刪掉 然後直接插入一個包有textNode(str)的htmlElement("b")到原先text node的第x個位置 有辦法作到降子嗎?還是說textNode已經無法再行分割了? 再次感謝各位大大幫忙m(_ _)m ※ 引述《s25g5d4 (死城盜賊)》之銘言: : <div id="div1"> : 今天天氣真好! : </div> : <script> : var o=document.getElementById('div1'); : var ot=document.createElement('b'); : ot.appendChild(document.createTextNode('天氣')); : o.replaceChild(ot,o.childNodes[0]); : o.insertBefore(document.createTextNode('今天'),ot); : o.appendChild(document.createTextNode('真好!')); : </script> : 這樣用不會比較好 但是幾乎把每個方法都玩到了@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.87.174
grassboy2:補充一下…之所以龜毛不用innerHTML,是不想讓某些東西 07/07 05:28
grassboy2:因為更動了innerHTML被reload,最明顯的例子是flash obj 07/07 05:28
s25g5d4:我是先插後刪 這樣比較好找位置... 07/07 20:07
grence:先想到用 innerHTML + regex解 07/07 21:32
s25g5d4:我有想過用REGEX 可是寫不出來 放棄了@@ 07/07 21:46
s25g5d4:來去正規表示式版問問看 07/07 21:47
grence:http://jsfiddle.net/t7Dmv/ 可以直接改JavaScript區塊 07/07 23:44
grence:改完之後直接按上面的 run就可以測試 07/07 23:45
grence:http://fiddle.jshell.net/t7Dmv/show/light/ 產生的網頁 07/07 23:58