2011-09-24 33 views
0

我有ID #TEST一個div包含大量HTML,包括一些YouTube上嵌入播放器等更換的innerHTML的一部分,無需重新加載嵌入式視頻

某處在這個div有這樣的文字:「[測試]」

我需要用「(works!)」替換那個文本。

這樣做當然會是正常的方法:

document.getElementById("test").innerHTML = document.getElementById("test").replace("[test]","(works!)"); 

但問題是,如果我這樣做了的YouTube,埋件將重新加載,這是不能接受的。

有沒有辦法做到這一點?

回答

0

您必須定位特定元素而不是父塊。由於DOM正在改變視頻重新繪製到DOM。

0

也許TextNode (textContent)會幫助你,MSDN文檔IE9,其他瀏覽器也應該支持

0

更改網頁,使

[test] 

成爲

<span id="replace-me">[test]</span> 

現在使用下面的JS來找到並更改它

document.getElementById('replace-me').text = '(works!)'; 

如果您需要更改多個位置,請使用class而不是id並使用document.getElementsByClassName並遍歷返回的元素並逐個更改它們。

或者,你可以使用jQuery做它更簡單的是這樣的:

$('#replace-me').text('(works!)'); 

現在使用jQuery的可能是矯枉過正,但這種單一的更換,如果您需要更改多個地方(類名) jQuery肯定會派上用場:)

相關問題