2014-04-03 63 views
-2

的代碼是很短的,明確的符號,我只是想改變與開放body標籤的顏色和結束標記<>正則表達式替換單詞和JavaScript或jQuery的

能有人向我解釋爲什麼它不行?以及如何解決它。

var newColors = document.getElementById('mainPreTah').innerHTML; 
newColors.replace(/<body>/g, "<span style='color:blue'><body></span>"); 
document.getElementById('mainPreTah').innerHTML = newColors; 
+8

哦天啊,這又是一個問題。 Blah blah,不能用正則表達式解析HTML,不然就會失敗,使用''或''或其他。 Blah常規語言和HTML不規則,使用堆棧。在blah中構建的Blah blah DOM API blah'document.body.style.backgroundColor ='blue''。布拉中心不會持有它爲時已晚。強制鏈接http://stackoverflow.com/a/1732454/1348195等等。快樂的編碼! –

+0

OH GOD ZALGO NO! NOOOO !!!! –

+0

等一下,我剛剛意識到你在span標籤中有''標籤。沒有什麼可以在這裏看到的:Wat。 –

回答

1

有沒有必要這樣做。您必須遍歷DOM元素並更改屬性

而不是修改html,您可以使用已存在的函數更改DOM。

例如,對於這樣的:

<body> 
    <span id="myspan"></span> 
</body> 

你可以不喜歡改變跨度的顏色。

var mySpan = document.getElementById("myspan"); 
mySpan.style.color = "blue"; 

有多種方法可以在html中查找元素。您應該檢查這些功能:

  1. 的getElementById
  2. 的getElementsByTagName
  3. getElementsByClassName方法
  4. 的getElementsByTagName
  5. 的getElementsByTagName

在你的情況,你可以使用

var mySpans = document.getElementsByTagName("span"), 
     i; 
    for (i=0; i<mySpans.length; i++) { 
     mySpans[i].style.color = "blue"; 
    }