2010-01-19 123 views
7

我是JavaScript新手。我使用JavaScript开发了一个页面,当我选择一种颜色时,它将作为背景应用于整个页面。更改文字颜色onclick

我想开发一个页面,我只能更改文本颜色。它应该改变(从红色到绿色或类似的东西),但不应刷新页面,只应改变所选内容或文本颜色。

任何人都可以帮助我。任何想法如何发展它?提前致谢。

回答

4

由Sarfraz答案的改写将是这样的,我想:

<script> 

    document.getElementById('change').onclick = changeColor; 

    function changeColor() { 
     document.body.style.color = "purple"; 
     return false; 
    } 

</script> 

你会要么必须把这个脚本在您的页面底部,正好在关闭正文标记之前,或者将处理程序分配放在一个名为onload的函数中 - 或者如果您使用的是jQuery,那么非常优雅$(document).ready(function() { ... });

请注意,当您以这种方式分配事件处理程序时,它将从HTML中取出功能。另请注意,您将其设置为等于函数名称 - no()。如果你做了onclick = myFunc();该函数实际上会在处理程序被设置时执行。

而且我很好奇 - 你知道足够的脚本来改变背景颜色,但不是文本颜色?奇怪:)

+0

重量我尝试做的是改变文字颜色,通过调用该..我已经创建了三个不同的.css的页面的CSS ..即时通讯面临的问题网页..但是当点击第一个.css页面时,我正在显示的是nt others.i ve,所有这三个.css文件也都被调用.. – Patel 2010-01-19 07:17:57

+0

@patel这在原始问题中会很有用。你应该编辑它以包含那个重要的小点数。 – 2010-01-20 17:52:47

4

做这样的事情:

<script> 
function changeColor(id) 
{ 
    document.getElementById(id).style.color = "#ff0000"; // forecolor 
    document.getElementById(id).style.backgroundColor = "#ff0000"; // backcolor 
} 
</script> 

<div id="myid">Hello There !!</div> 

<a href="#" onclick="changeColor('myid'); return false;">Change Color</a> 
+0

-1对于'document.getElementById(id)'和有问题的事件注册的低效使用 – 2010-01-19 05:53:57

+0

@Justin:好的,如果你能解释什么是低效的呢?如果我能学习,我会很高兴。您可以提供哪些链接? – Sarfraz 2010-01-19 05:55:41

+0

尽量避免走DOM,因此您最好尽可能少地调用像'document.getElementById'这样的方法。至于事件注册,它通常被认为是混合表示和逻辑的糟糕形式。更多可以在这里阅读有关它:http://www.quirksmode.org/js/events_early.html – 2010-01-19 06:01:54