Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 所选列表项颜色更改_Javascript_Html_Css - Fatal编程技术网

Javascript 所选列表项颜色更改

Javascript 所选列表项颜色更改,javascript,html,css,Javascript,Html,Css,我正在创建一个包含以下代码的网页 <script> function changeColor(c) { document.getElementById("message").style.color=c; } </script> <p id="message">Welcome!</p> <ul id="color"> <li>Black</li> <li>Red</li> </ul&g

我正在创建一个包含以下代码的网页

<script>
function changeColor(c) {
document.getElementById("message").style.color=c;
}
</script>
<p id="message">Welcome!</p>
<ul id="color">
<li>Black</li>
<li>Red</li>
</ul>

函数更改颜色(c){
document.getElementById(“message”).style.color=c;
}
欢迎光临

  • 黑色的
  • 红色的
我需要确保当我点击列表中的一个项目时,欢迎的文本颜色!消息将改变。您应该使用哪个声明?

  • 黑色


    
    函数更改颜色(c){
    document.getElementById(“message”).style.color=c;
    }
    欢迎光临

      黑色 红色
    注意:

  • 这不是最好的方法,尤其是当您有许多列表元素时。更好的方法是使用JavaScript;获取
    color
    无序列表,循环遍历每个循环元素,并将
    changeColor(this.innerHTML)
    添加到单击事件中

  • 可以使用
    innerText
    代替
    innerHTML


  • 感谢您的回复,我可以用黑色或黑色代替您的代码吗?请建议Sujit如果您将此回信用作信函,它将不起作用。如果你需要的话,看看我的。如果要对列表元素应用CSS样式,并且希望该消息具有相同的样式,则可以使用
    this.style.color
    ,但如果希望该消息为文本字面上所示的颜色,则必须使用此innerText/innerHTML方法。Phil,我的意思是,由于拼写错误,您的
    innerHTML
    将导致两种不同的错误。1) 有一个额外的“
    n
    ”;2) “html”部分需要大写。该属性称为
    innerHTML
    。除此之外,我们的想法是一样的,因此+1基于您下面的问题。你想要欢迎的颜色吗!要更改为列表元素的颜色,或列表元素显示的颜色。奇怪的是,为什么要更改答案,如果我使用黑色,它会运行得很好(不是列表中的文本)并使用JavaScript附加click事件(注意:这是纯JS,可能不是跨浏览器)。如果您希望使用文本,请将
    文档.defaultView…color
    更改为您的
    this.innerHTML
    -出于某种原因,我认为innerText不是交叉浏览器,至少我认为FF使用了文本内容
    <script>
       function changeColor(c) {
          document.getElementById("message").style.color=c;
       }
    </script>
    
    <p id="message">Welcome!</p>
    <ul id="color">
       <li onclick="changeColor(this.innerHTML);">Black</li>
       <li onclick="changeColor(this.innerHTML);">Red</li>
    </ul>