如取id为all下的第一级div(就是有id的那些) 取他们的集合
怎么取啊
不要用id div个数不确定
象我下面那么取就不对 取的是所有的了
<!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=gb2312" />
<title></title>
<style type="text/css"></style>
</head><body>
<script type="text/javascript">
window.onload = function(){
var d = document.getElementById('all');
alert(d.getElementsByTagName("div").length);
}
</script>
<div id='all'>
<div id='a1'>
<div>1-1</div>
<div>1-2</div>
</div>
<a></a><a></a>
<br><hr>
<div id='a2'></div>
<a></a><a></a><a></a>
<div id='a3'></div>
<a></a>
<div id='a4'></div>
<a></a><a></a><a></a><a></a><a></a>
<div id='a5'></div>
</div>
</body>
</html>

解决方案 »

  1.   


    var d = document.getElementById('all');
    var div=[];
    var len=d.children.length;
    for(var i=0;i<len;i++) {
        var cur=d.children[i];
        if(typeof(cur)!=="undefined" && cur.nodeName=="div")
            div.push(d.children[i]);
    }
    alert(div.length);
      

  2.   

    cur.nodeName=="DIV"//要大写
      

  3.   


    var d = document.getElementById('all');
    var div=[];
    var len=d.children.length;
    for(var i=0;i<len;i++) {
        var cur=d.children[i];
        if(typeof(cur)!=="undefined" && cur.nodeName=="DIV")
            div.push(cur);//这里直接写了
    }
    alert(div.length);
      

  4.   

    可见XPath在选择器中被支持还是必要的
      

  5.   

    var d = document.getElementById('all');
    var div=[];for(var i=0;i<d.childNodes.length;i++) {
        var cur=d.childNodes[i];
        if(typeof(cur)!=="undefined" && cur.nodeName=="div")
            div.push(d.childNodes[i]);
    }
      

  6.   

    ?选择器就直接$("#all > div")不也行,干嘛非要XPath?
      

  7.   


    你的出发点是框架应用组合语句定位行,XPath定位也行,框架选择器也行。我话说绝对了,因为最近搞的项目天天接触XPath,我觉得方便直观明了。