1

我正在尝试使文本字段更改其颜色,但它似乎不起作用这是代码:

<html>
<head>
  <title>   
  This is a title
  </title>

<script type="text/javascript">
    function changeColor()
    {
    alert("bla")
    document.getElemenyById("text1").style.background-color:red;
    }
</script>
</head>

<body>

<form>
<input id="text1" type="text" onkeypress="changeColor()">
</form>


</body>

</html>
  • 谢谢你
4

4 回答 4

4

那是语法错误。您不能background-color: red在 JavaScript 中使用 CSS 语法 ( )。

您希望将一个值(字符串)实际分配给名为 的对象"red"的成员:stylebackgroundColor

...style.backgroundColor = "red";
于 2013-09-07T12:55:11.007 回答
2

如果使用 Jquery 使用 CSS() 。如果纯 Javascript

document.getElementById("text1").style.backgroundColor = "red";

或者

document.getElementById("text1").style("backgroundColor":"red"); 

一个错误是“getElementById”错字

于 2013-09-07T13:00:53.697 回答
2

1) 大部分从 JavaScript 访问的 CSS 属性需要替换所有的“-”并使用 rpn 样式,即。

背景颜色变成背景颜色,

border-collapse 变成了 borderCollapse 等等。

2) 在 JavaScript 中操作样式时,可能经常需要一次更新多个属性。一个好的和优雅的方法是使用 JavaScript "with" 语句:

with(document.getElementById("text1").style) {
    backgroundColor = 'red' ;
    fontWeight = 'bold' ;
    // etc... 
} 

3)jQuery方式也很简单:

$('#text1').css({
    "background-color": "red", 
    "font-weight": "bold"
}) ;

http://api.jquery.com/css/

于 2013-09-07T13:11:56.240 回答
2

尝试这个:

document.getElementById("text1").style.backgroundColor = "red";

演示:http: //jsfiddle.net/jG95a/

您的代码中有四个问题:

  • 一个错字getElementById()(你有一个“y”而不是一个“t”)
  • background-color在 JS 点表示法中无效,您需要backgroundColor
  • =不需要:
  • red必须是一个字符串,"red"

或者以另一种方式来说明最后三点,您的方式background-color:red适用于样式表,但不适用于 JavaScript。

于 2013-09-07T12:54:35.450 回答