10
7
2011
0

javascript 之 firstChild 略记

    今天碰到用这个的js代码,发现不同浏览器使用后的效果不同(说的就是ie!!PS:我指的是ie8),所以记录下。

   如下html代码:

    <div id="scroll">
      <ul>
        <li></li>
        <li></li>
      </ul>
   </div>

 如下js代码

var scroll = document.getElementById("scroll");
alert(scroll.firstChild);

在opera11&ff7中,在<div id="scroll">和<ul>之间只要有空格存在,scroll的firstChild都“object Text”类型对象,其data是它们中间的文本(即空格)。如果中间是紧挨着注释代码,刚返回的是:object Comment,即注释的对象。如果中间什么都没(两紧挨着的时候),则firstChild是ul对象:object HTMLUListElement

但在ie8下,中间有内容的存在虽然返回的都是object类型,但两个对象不是同一个对象,在有文本内容的时候(空白字符串除外),其返回的是 文本对象,可以通过data来查看其文本。但如果中间没有文本内容的时候(什么都没或只有空白字符串),firstChild是ul的对象。(即这边没有文本对象……,如果中间是注释,也如此……)

Category: Web编程 | Tags: javascript | Read Count: 1402

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com