2012-12-11 37 views
0

有没有一种方法使用JavaScript和HTML来改变跨度的颜色?例如:用javascript改变颜色内联

<span onLoad="document.getElementById('test').style.color = 'red';" id="test">test</span> 

但这似乎并不奏效。

快速更新:这只是我试图解决的实际问题的前兆。基本上我在一个只允许进行HTML编辑的CMS内。这意味着我无法访问头部以添加自定义JavaScript函数等。我想要做的是制作一个内联函数,该函数需要指定日期(例如跨度),然后根据某些内容对其进行着色in-line js逻辑。

+8

你为什么不使用CSS? – js1568

+0

@ js1568这只是我试图解决的实际问题的前兆。基本上我在一个只允许进行HTML编辑的CMS内。这意味着我无法访问头部以添加自定义JavaScript函数等。我想要做的是制作一个内联函数,该函数需要指定日期(例如跨度),然后根据某些内容对其进行着色* in-line * js逻辑。 – bswinnerton

+0

@bswinnerton你知道,标题不是唯一可以放置脚本标签的地方(实际上它通常建议将脚本标签放在页面底部) – Jack

回答

3

跨度没有“onload”事件。如果你想运行在页面加载时,在<head>用下面的代码添加脚本块:

window.onload = function() { 
    document.getElementById('test').style.color = 'red'; 
} 

考虑如何不让进入头部的澄清:你可以在任何地方添加<script>块下方元素,你的目标,它的作品。如果可能,请在</body>之前添加一个脚本块(或尽可能远的地方)。另一种可能性是从CMS编辑器添加一个类,并在外部CSS文件中定义该类。另一种可能是内联CSS样式,正如defau1t的答案中所建议的。

2

如果您有任何理由不使用css,并希望使用JavaScript那么你可以使用

window.onload=function(){ 
    document.getElementById('test').style.color = 'red'; 
} 
1

onload事件被身体所定义,而不是DOM元素。您可以使用document.getElementById("test").style.color = "red";

或简单的使用方法:

<span id="test" style="color:red;">test</span>