0
function createDiv(nameId,width,height,color)
{
    try
    {
        // Initialize And Create Div
        if(document.createElement('div'))
        {
            // document.write("<br>Create Div Success");
            if((nameId.length!=0) && (width>0) &&(height>0) && (color.length!=0))
            {
                //creating div
                var divCreate = document.createElement('div');

                divCreate.id=nameId;
                document.getElementById(nameId).width = width;
                document.getElementById(nameId).height = height;
                document.getElementById(nameId).background = color;
                document.getElementById(nameId).backgroundColor = "Red";
                document.body.appendChild(divCreate);
                document.write(" <br>Create Div Success And Added To Body");

                // document.write(" <br>Create Div Success And Added To Body");
            }
            else
            {
                //     document.write("<br>All Field Value Required");
            }
        }
        else
        {
            document.write("<br>Unable To Create Div");
        }
    }
    catch(e)
    {
        document.write("<br>"+e);
    }
}

document.getElementById()越来越Null。我正在尝试使用 javascript 创建一个 DIV 并为其分配一些宽度/高度和颜色,但它不起作用。但是,如果我使用下面的代码,则会创建 div 但它在屏幕上不可见。如果我使用该功能createDiv(),它就不起作用。

divCreate.id=nameId;
divCreate.width = width;
divCreate.height = height;
divCreate.background = color;
divCreate.backgroundColor = "Red";
document.body.appendChild(divCreate);
4

3 回答 3

1

createElement 仅创建元素..您需要先将元素添加到文档中才能找到它..

尝试更早地添加附加,这应该可以工作:

      //creating div
      var divCreate = document.createElement('div');

      divCreate.id=nameId;
      document.body.appendChild(divCreate); <-----------------------
      document.getElementById(nameId).width = width;
      document.getElementById(nameId).height = height;
      document.getElementById(nameId).background = color;
      document.getElementById(nameId).backgroundColor = "Red";

      document.write(" <br>Create Div Success And Added To Body");
于 2013-05-16T23:04:00.343 回答
0

您的代码中有一些需要改进/修复的项目:

  • 您已经拥有该对象,因此您不需要使用该getElementById函数来获取它(另外,您尝试在将对象添加到正文之前获取它)
  • 您需要使用.style来访问css对象的属性
  • 不要使用该document.write功能打印状态,因为如果页面已经加载,它将重写页面。

这是更新的代码:

//creating div
      var divCreate = document.createElement('div');

      divCreate.id=nameId;
      //to access the width and other css properties, you need to use the style
      divCreate.style.width = width;
      divCreate.style.height = height;
      divCreate.style.background = color;
      divCreate.style.backgroundColor = "Red";
      document.body.appendChild(divCreate);
于 2013-05-16T23:07:59.853 回答
0

似乎您正在尝试在附加它之前引用它。

于 2013-05-16T23:02:47.460 回答