Javascript:document.getElementById()返回NULL

|| 我对Javascript还是很陌生,但是document.getElementById()总是返回NULL,这使我发疯。 我的代码中有一个元素,我想获取它的坐标,以便移动它。 这是代码:
<html>
  <head>
    <script type=\"text/javascript\" >
      function MoveIt(obj) {
        alert(obj); // returns \"Object HTMLDivElement\"
        var xx = document.getElementById(\"arect\");

        if(document.getElementById(\"arect\").value == null) {
          alert(\'NULL >> \' + xx.value);
        }
        else {
          alert(\'NOT NULL >>\' + xx.value);
        }

        posX = xx.style.scrollTop;
        posY = xx.style.left;
      }
    </script>
  </head>

  <body bgcolor=\"white\" >
    <DIV class=\"background\" id=\"MyDiv2\">  
      <div id=\"arect\" name=\"arect\" class=\"transbox\" onmousedown=\"MoveIt(this);\" >
      </div>
    </div>
  </body>
</html>
上面的函数MoveIt()始终返回NULL     
已邀请:
您从未在
getElementById(...)
中选择
NULL
。 您在
getElementById(...).value
中检查了
NULL
,并且div没有\“ value \”。 还要注意,您忘记了关闭
<div />
标记,这在您的XHTML中是非法的……并且出于某种原因使用了SVG文档类型。 SVG不是HTML。 目前尚不清楚您要在这里做什么。     
在尝试阅读页面内容之前,需要先加载它们。尝试
window.onload = function() {
  // run your script in here
}
或者,如果您使用的是jQuery,则更喜欢
$(document).ready(function() {
  ...
}
    
\“ arect \”元素是
<div>
,而
<div>
元素没有\“ value \”。 还要摆脱那种伪造的SVG文档类型。     
if(document.getElementById(\"arect\").value == null){
    alert(\'NULL >> \'+ xx.value);
  }
此代码始终返回null或错误。如果要查看对象是否存在,请执行以下操作。
if(xx == null)
   alert(\'Object does not exist\');
else 
   alert(\'Object exists. Inner HTML: \' + xx.innerHTML);
另外,
div
没有have13ѭ。如果要在div中获取html,请使用
xx.innerHTML
    
首先,您想做的是充满跨浏览器不一致问题,这会加重javascript专业人士的负担,因此,如果您不熟悉javascript,那么最好使用jQuery。 其次,xx将没有值,因为它是DIV。您会发现xx本身不为null。     
就我而言,这是因为在jsp / html(whatever)文件的开头有以下行:
<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">
删除它解决了我的问题。     
如果按钮设置为visisble = false,那么您将无法在客户端获取该按钮的ID。隐藏按钮使用
button1.Style.Add(\"display\",\"none\")-- for visible false
button1.Style.Add(\"display\",\"block\")-- for visible true
即使按钮启用为false,我们也无法在客户端获取按钮的ID 您可以通过document.getElementById(\'<%= button1.ClientID%> \');获得按钮的ID。 要么 如果在aspx页面中为控件设置了ClientIDMode = \“ Static \”,则可以直接通过document.getElementById(\'button1 \');来获取它。 要么 document.getElementById(\'MainContent_button1 \'); ---如果您拥有的contenet占位符的ID与id_button1不同,则MainContent是contentplaceholder的ID。     

要回复问题请先登录注册