javascript FF下因换行空白引起的第一个节点元素和IE不一致的解决方法~

html部分一段简单的代码,如下:

<ul>
  <li>第一</li>
  <li>第一</li>
  <li>第一</li>
</ul>

所以我们有时候经常碰见用javascript获取ul子元素的个数,在FF和IE下将会得到2个不相同的结果。

IE它会正确的获得3个子元素;而FF却会把换行或者空白也计算到子元素的个数里面,因

此我们需要写一段去除在FF下多余空白的代码来获取到第一个元素。

function ElementNum(node){
      if(node.firstChild){
            if(node.firstChild.nodeType==1)return node.firstChild;//node.firstChild.nodeType==1测试是不是为元素节点,是返回该节点,不是进入else语句;
            else{
                  var testnode=node.firstChild;
                  while(testNode=testNode.nextSibling){
                        if(testNode.nodeType==1) return testNode;
                      }
                  return null;
                }
          }
      return null;
    }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值