[問題] HTML String 轉 DOM

看板Web_Design作者 (vvrr)時間11年前 (2014/04/16 19:19), 11年前編輯推噓6(606)
留言12則, 5人參與, 最新討論串1/1
因為工作上的需要,要把一個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://www.ptt.cc/bbs/Web_Design/M.1397647167.A.489.html ※ 編輯: vvrr (60.250.31.103), 04/16/2014 19:24:51

04/16 19:37, , 1F
\如果你真的有建立 "應該"抓的到吧
04/16 19:37, 1F

04/16 20:00, , 2F
create之後要插到document底下啊
04/16 20:00, 2F

04/16 20:00, , 3F
不然就只能用變數存取了
04/16 20:00, 3F

04/16 22:26, , 4F
.appendChild
04/16 22:26, 4F

04/17 07:02, , 5F
不用 jQuery?
04/17 07:02, 5F

04/17 09:14, , 6F
謝謝各位的回覆。後來發現要在HTML部份做一個div
04/17 09:14, 6F

04/17 09:16, , 7F
而不是在javascript這邊create.這樣子就能用getElement拿了
04/17 09:16, 7F

04/17 17:22, , 8F
你也可以把create出來的插回document....
04/17 17:22, 8F

04/17 17:22, , 9F
重點在於document.getElementById只能找到document下的
04/17 17:22, 9F

04/17 17:24, , 10F
你如果在上面執行div.getElementByTagName('img')
04/17 17:24, 10F

04/17 17:25, , 11F
也能找到div底下你插進去的img啊
04/17 17:25, 11F

04/17 17:25, , 12F
所以重點是在哪裡找 用什麼找
04/17 17:25, 12F
文章代碼(AID): #1JJcS_I9 (Web_Design)