我需要在javascript中帮助DOM

时间:2011-04-15 13:13:36

标签: javascript

我想创建一个表单,为用户提供3个不同的选项来更改页面的背景颜色。当用户单击其中一个选项时,背景颜色会更改为匹配。还会创建一个带有一些基本文本的div。创建一个具有textarea的表单。使用document.getElementById(' yourelementid')既可以找到textarea的值,也可以更改div中创建的基本文本。 (提示:用户innerHTML)现在我知道如何做表单,但我不知道如何在用户点击该按钮时更改背景。我真的不了解如何使用innerHTML。如果有人可以解释或给我一些如何理解这一点的网站。谢谢。

好的,这是我到目前为止所得到的,我还没有理解......

  <!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http:www.w3.org/1999/xhtml">
  <head>
   <title>background-color</title>
  <meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
 <script language="javascript" type="text/javascript">
  function changeBackgroundColor(objDivID)

   {
    var backColor = new String();

       backColor = document.getElementById(objDivID).style.backgroundColor;
    if(backColor.toLowerCase()=='#A20000C')

    {
    document.getElementById(objDivID).style.backgroundColor = '#DF64BD';

   }
    else
      {
   document.getElementById(objDivID).style.backgroundColor = '#FFDD73';
      }

    }

       </script>
      </head>
      <body>
      <h3>Change background color to:</h3>
      <div id="div1" style="background-color : #A2000C">
       <p><input type="radio" name="color" value="red" />Red<br />
      <input type="radio" name="color" value="pink" />Pink<br />
      <input type="radio" name="color" value="yellow" />Yellow<br />

      </div>
     <input type="button" value="click here"onclick="changeBackgroundColor('div1')"    /> 
      </body>
      </html>

我仍然不确定为什么我的盒子不大而且没有正确的颜色,我仍然必须在那里有一个盒子。要求更改颜色的文字。

5 个答案:

答案 0 :(得分:1)

以下是如何将页面的背景颜色设置为文本区域的值:

document.bgColor=document.getElementById('yourelementid').value;

答案 1 :(得分:1)

您应该在颜色更改选项上添加一个事件处理程序,如下所示(假设它是一个选择框):

<select id="colorSelect">
    <option value="red">red</option>
    <option value="green">green></option>
</select>

document.colorSelect.onchange = function(){
    document.elementToChangeColor.style.backgroundColor= this.value;
}

答案 2 :(得分:0)

InnerHTML基本上是两个标签之间的所有东西(因此是内部HTML):

<div>

现在要更改背景,您将从表单元素中获取值,然后编写类似这样的内容来更改背景颜色。

document.getElementById('your_element_id').style.backgroundColor = formElementValue

答案 3 :(得分:0)

Mozilla文档很好地描述了innerHTML。您可能想要阅读该页面。

DOM对象的innerHTML属性以文本形式提供该对象的HTML内容。所以如果你有HTML:

<div id="myID"><span>Some text here!</span></div>

和javascript:

var theHTML = document.getElementById('myID').innerHTML;
alert(theHTML);

然后你会看到<span>Some text here!</span>

如果将innerHTML属性设置为HTML字符串,它将更改值的内容。鉴于上面的HTML,如果您有以下javascript:

var myDiv = document.getElementById('myID');
myDiv.innerHTML = '<span>Now this is some other text</span>';

ID为myID的div将更改为显示包含“现在这是其他文字”的范围。

要更改背景颜色,请查看更改正文上的CSS属性。 This question会帮助您了解如何做到这一点。您需要调查document.body.style

答案 4 :(得分:0)

我会使用jQuery:

function selectionMade(color) {
    var body = $('body');
    body.css('background-color', color)

    var divWithSomeText = $('<div/>').Text = 'Some Text';
    body.Add(divWithSomeText);
}

jQuery使你想要做的事情变得非常简单。如果我是你,我会立即使用该库,以便将来再次使用它。