作者vvrr (vvrr)
看板Web_Design
标题[问题] HTML String 转 DOM
时间Wed Apr 16 19:19:25 2014
因为工作上的需要,要把一个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去存取」的方法
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.31.103
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Web_Design/M.1397647167.A.489.html
※ 编辑: vvrr (60.250.31.103), 04/16/2014 19:24:51
1F:推 GoalBased:\如果你真的有建立 "应该"抓的到吧 04/16 19:37
2F:推 mrbigmouth:create之後要插到document底下啊 04/16 20:00
3F:→ mrbigmouth:不然就只能用变数存取了 04/16 20:00
4F:推 davidsky:.appendChild 04/16 22:26
5F:推 YUPTT:不用 jQuery? 04/17 07:02
6F:→ vvrr:谢谢各位的回覆。後来发现要在HTML部份做一个div 04/17 09:14
7F:→ vvrr:而不是在javascript这边create.这样子就能用getElement拿了 04/17 09:16
8F:推 mrbigmouth:你也可以把create出来的插回document.... 04/17 17:22
9F:→ mrbigmouth:重点在於document.getElementById只能找到document下的 04/17 17:22
10F:推 mrbigmouth:你如果在上面执行div.getElementByTagName('img') 04/17 17:24
11F:→ mrbigmouth:也能找到div底下你插进去的img啊 04/17 17:25
12F:→ mrbigmouth:所以重点是在哪里找 用什麽找 04/17 17:25