<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script>
var simple = function(){
this.getId = function(elementId){
var element = document.getElementById(elementId);
//alert(elementId);
return element;
}
}var $ = function(string){
var sim = new simple();
var start = string.indexOf("#");
if(start != -1)
{
start += 1;
var str = string.substring(start);
return sim.getId(str);
}
else
{
return null;
}
}alert($("#e"));
</script>
</head><body>
<input type="text" id="e" value="1234" />
</body>
</html>怎么返回不了ID为e的DOM对象的?
我哪里出错了?

解决方案 »

  1.   

    在你获取dom时dom未加载。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <script>
    var simple = function(){
        this.getId = function(elementId){
            var element = document.getElementById(elementId);
            //alert(elementId);
            return element;
        }
    }
     
    var $ = function(string){
        var sim = new simple();
        var start = string.indexOf("#");
        if(start != -1)
        {
            start += 1;
            var str = string.substring(start);
            return sim.getId(str);
        }
        else
        {
            return null;
        }
    }
     
    //alert($("#e"));
    window.onload=function(){alert($("#e"));}
    </script>
    </head>
     
    <body>
    <input type="text" id="e" value="1234" />
    </body>
    </html>
      

  2.   

    +1或:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>无标题文档</title> 
    </head> 
    <script> 
    var simple = function(){ 
        this.getId = function(elementId){ 
            var element = document.getElementById(elementId); 
            //alert(elementId); 
            return element; 
        } 

      
    var $ = function(string){ 
        var sim = new simple(); 
        var start = string.indexOf("#"); 
        if(start != -1) 
        { 
            start += 1; 
            var str = string.substring(start); 
            return sim.getId(str); 
        } 
        else 
        { 
            return null; 
        } 

    </script> 
    </head> 
      
    <body> 
    <input type="text" id="e" value="1234" /> 
    <script type="text/javascript">
    (function() {
        alert($("#e"));
    })();
    </script>
    </body> 
    </html>