var c = document.createElement("div");c.innerHTML = '<div id="con"><p><span></span></p></div>';alert(c.getElementsByTagName("p").length); // alert 1
alert(document.getElementById("con")); // alert htmlDivElement为什么没有将 c 变量插入到页面以前(document.body.appendChild(c)).就可以查询到新建的htmlElement ?

解决方案 »

  1.   

    我在ie8和ff下测试,
    alert(document.getElementById("con")); 都是返回 null
    alert(c.getElementsByTagName("p").length); 肯定为1啊,因为你是在c对象中查找,所以肯定存在.
      

  2.   

    ie8 ,ff3.5.4下,后面那个alert都是null
      

  3.   

    sorry ..我在页面上定义了一个ID为con的元素 ...忘记删除了...
      

  4.   

    如果我的c元素中有很多元素...希望快速定位到某个元素.用什么方法比较快?getElementById不可以的话.应该怎么做呢?
      

  5.   

    我想过查询元素的class属性来定位..不过好像要实现类似 JQuery 的 $.find(".className").方法才可以..不知道有没有别的方式呢~~ 不甚感激.
      

  6.   

    大同小异
    getElementsByTagName //返回指定Tag名称的对象集合,例如input,div然后通过遍历这些集合,去筛选元素