jQuery1.0源代码分析之domManip方法(七)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-02 06:27 点击:

 

在读下面代码时,我们会发现这几个Dom操作的函数都会调用domManip函数

 

append: function() { 

        return this.domManip(arguments, true, 1, function(a){ 

            this.appendChild( a ); 

        }); 

    }, 

    prepend: function() { 

        return this.domManip(arguments, true, -1, function(a){ 

            this.insertBefore( a, this.firstChild ); 

        }); 

    }, 

    before: function() { 

        return this.domManip(arguments, false, 1, function(a){ 

            this.parentNode.insertBefore( a, this ); 

        }); 

    }, 

    after: function() { 

        return this.domManip(arguments, false, -1, function(a){ 

            this.parentNode.insertBefore( a, this.nextSibling ); 

        }); 

    }, 

那这个domManip函数是干什么用的呢?

 

dom即Dom元素,Manip是Manipulate的缩写,连在一起就是Dom操作的意思。

 

 

我们来看下面一段代码,代码本身很简单,就是在table中插入一行一列,并写上文本haha。

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<html lang="en"> 

<head> 

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 

    <title></title> 

    <script type="text/javascript"> 

    window.onload = function() { 

        var table = document.getElementsByTagName('table')[0]; 

        var tr = document.createElement('tr'); 

        var td = document.createElement('td'); 

        var txt = document.createTextNode('haha'); 

        td.appendChild(txt); 

        tr.appendChild(td); 

        table.appendChild(tr); 

    }; 

    </script> 

</head> 

<body> 

    <table></table> 

</body> 

</html> 

 

但是,上面代码在IE 6上是执行不成功的,大家可以试一下。在IE 8以上的浏览器都是好用的。

 

万恶的IE!!!!!

 

IE 6上失败的原因就是IE 6认为tr标签必须在tbody下面。也就是说,代码写成下面这样,就所有浏览器都OK了。

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

<html lang="en"> 

<head> 

    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 

    <title

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Gb2312转utf-8编码的方法(vbs+js)
    • 如何使用Ajax技术开发Web应用程序(1)
    • js跳转路径问题
    • JavaScript模仿桌面窗口
    • 用js检测两个线段是否相交
    • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
    • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
    • 我是如何去了解jquery的(六),案例之幻灯片轮换
    • Jquery封装幻灯片效果
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1