Re: [問題] 有辦法完全不用innerHTML嗎?
感謝大家的回應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
→
07/07 05:28, , 1F
07/07 05:28, 1F
→
07/07 05:28, , 2F
07/07 05:28, 2F
推
07/07 20:07, , 3F
07/07 20:07, 3F
→
07/07 21:32, , 4F
07/07 21:32, 4F
→
07/07 21:46, , 5F
07/07 21:46, 5F
→
07/07 21:47, , 6F
07/07 21:47, 6F
→
07/07 23:44, , 7F
07/07 23:44, 7F
→
07/07 23:45, , 8F
07/07 23:45, 8F
→
07/07 23:58, , 9F
07/07 23:58, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 11 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章