2016-10-01 38 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”将文本更改为“文本改变”。