[问题] HTML String 转 DOM

楼主: vvrr (vvrr)   2014-04-16 19:19:25
因为工作上的需要,要把一个HTML字串利用javascript转成DOM
查到的方法是
“先建一个div 元素,再把字串塞给这个元素的innerHTML,
就可以用DOM的方式取得原本HTML字串的内容了”
大概是这样子:
var string = '<img src="123.jpg" id="testimg">测试图片</img>'; // 原始HTML
var div = document.createElement('div'); // 建一个div
div.innerHTML = string; // 塞字串
接着就可以利用下面的方法去access每个node
elements = div.childNodes;
======================================================
问题是,我如果想要用getElementById来存取原始HTML的元素的时候,一直取不到…
以上面的例子来说,我应该已经在div底下建了一个img元素,img的id=testimg
但是如果我用 obj = document.getElementById("testimg")的话,obj会是null.....
想请问有没有“可以将HTML String转成DOM之后,又能用getElementById去存取”的方法
谢谢
作者: GoalBased (Artificail Intelligence)   2014-04-16 19:37:00
\如果你真的有建立 "应该"抓的到吧
作者: mrbigmouth (大嘴先生)   2014-04-16 20:00:00
create之后要插到document底下啊不然就只能用变量存取了
作者: davidsky (Alive)   2014-04-16 22:26:00
.appendChild
作者: YUPTT (Zac)   2014-04-17 07:02:00
不用 jQuery?
楼主: vvrr (vvrr)   2014-04-17 09:14:00
谢谢各位的回复。后来发现要在HTML部份做一个div而不是在javascript这边create.这样子就能用getElement拿了
作者: mrbigmouth (大嘴先生)   2014-04-17 17:22:00
你也可以把create出来的插回document....重点在于document.getElementById只能找到document下的你如果在上面执行div.getElementByTagName('img')也能找到div底下你插进去的img啊所以重点是在哪里找 用什么找

Links booklink

Contact Us: admin [ a t ] ucptt.com