2016-10-01 82 views
0

我是一個Javascript初學者,一直在這個問題上坐了一段時間,我做了一些錯誤的地方,但我不認爲我已經理解了它的概念。 我試圖調用一個函數,當我點擊我的按鈕,但是我可以輕鬆地做到這一點與警報和提示,完美的作品,但當我試圖改變我的網站,它不起作用。如果你能告訴我我做錯了什麼,請問我會很高興。可以用Javascript改變我的網站的風格

window.onload = saved; 

function ChangeStyle(){ 
    var ThirdButton = document.getElementById('buttonThree'); 
    ThirdButton.onclick = ChangeText; 
} 
function ChangeText(){ 
    p.innerHTML = "CantCareLess"; 
} 

function saved() 
{ 
ChangeStyle(); 
} 

HTML

<button id="buttonThree"> Utseende </button> 

所以我有很多的文字在我的網站上,有段堆。然而,當我點擊按鈕,它不會改變所有段落爲「CantCareLess」 ,它不會改變它的任何地方..

如果我把警報(「你好」);在我的功能中,它的功能完美無缺,所以我的功能沒有任何問題。

+6

代碼中的「p」是什麼,你定義了它?正如你所說,在該函數中放置一個'alert'運行良好,唯一的問題是'p',你沒有告訴我們如何定義它。 – fuyushimoya

+0

這是行不通的,因爲p是未定義的。您需要首先定義元素:var p = document.getElementByTagName('P'); – Franco

回答

-1
function changeText() { 
     var p = document.getElementsByTagName("p"); 
     for (var i = 0; i < p.length; i++) { 
      p[i].innerHTML = "CantCareLess"; 
     } 
    } 

如果不先選擇p元素,我們不能將文本更改爲「CantCareLess」。

所以,首先我們通過使用for循環使用選擇然後document.getElementsByName("p")我們循環通過每個p p元素,然後更改我希望這會幫助你的文字爲「CantCareLess」

+2

請解釋你的代碼在做什麼以及它與問題的代碼有什麼不同。 – Soviut

0

< p id = "demo" > here is your text! < /p> 

<button onclick="myFunction()">this is button</button > 
    <script> 
    function myFunction() { 
    var str = document.getElementById("demo").innerHTML; 
    var res = str.replace("text changed",); 
    document.getElementById("demo").innerHTML = res; 
    } < /script> 

當我點擊了按鈕,「P」將文本更改爲「文本改變」。