部分代码如下:提示错误位置为:var backDiv = cDiv("div");
弹出提示Test1没有弹出Test2,想问下这是Google浏览器不支持还是有错误?应该怎么改?谢谢 function setChild(div,kid)
 {
  //可否移动、调整
  var isMove = document.getElementById("isMove").checked;
  var isResize = document.getElementById("isResize").checked;
  
  //底色
  var cDiv = document.createElement;
alert('Test1');
  var backDiv = cDiv("div");
alert('Test2');
  backDiv.style.cssText = "left: 0px; top: 0px; width: 100%; height: 100%; background-color: #F5F5F5;";
  div.appendChild(backDiv);
  
  //标题
  var topDiv = cDiv("div");
  topDiv.style.cssText = "left: 2px; top: 2px; width: 100%; height: 30px; position: absolute; background-color: #FF6699; vertical-align: middle; z-index: 5";
  if (isMove)
  {
   topDiv.style.cursor = "move";
   topDiv.setAttribute("onmousedown", function(){setMove(this)});
  }
  else
  {
   topDiv.style.cursor = "default";
  }
  topDiv.innerHTML = "<span style='top: 5px; left:5px; font-size: 20px; font-weight: bold; color: #102548; position: relative;' onselectstart='return false'>聊天</span>";
  div.appendChild(topDiv);  ……(省略)
}javascriptgoogle chrome浏览器js

解决方案 »

  1.   

      var cDiv = document.createElement;
    alert('Test1');
      var backDiv = cDiv("div");
    alert('Test2');createElement是个方法,
    backDiv = document.createElement("div");
      

  2.   

    谢谢,这样的话cDiv("div");等这些应该也要修改一下吧?我等会儿去公司小区试下哦,现在在公司,准备回小区
      

  3.   

    现在是 var topDiv = cDiv("div");这一行的问题,我明天再测试一下,因为经常做Windows软件开发最多也就做做JSP,对JS不怎么了解
      

  4.   

     var cDiv = document.createElement;这一句存在问题,createElement挂在document下运行,是正确的,单独拿出来运行,就会抛出非法调用的错误,显然createElement内部使用了this。所以,不能这样用,硬生生把createElement从document上拽下来,让人家孤独的运行,人家当然就脱离了组织了。这个create出来的element的ownerDocument要反过来指向document的,所以不能脱离document单独运行。你可以这样:
    var cDiv = function(tagName){
      return document.createElement(tagName);
    };