使用JS操作页面表格,元素的一些技巧


Posted in Javascript onFebruary 02, 2007

(一)
ie 、firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用。下面是我就三种浏览器测试的结果: 

insertRow

IE6 :支持,而且默认参数为-1,默认添加到最后

FireFox :支持,但部支持默认参数

Opera :支持,支持默认参数,默认添加到最前

AppendChild

IE6 :不支持

FireFox :支持,但增加TR后不影响ROWS

Opera :支持,效果同insertRow(-1),影响ROWS 

最大限度的遵循规范,就能写出安全的、适用性强的代码了: 

//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd = document.createElement("td");
otd.innerHTML = " "; 
otd.className = "XXXX"; 
otr.appendChild(otd); 

这样就可以运行在这三种浏览器上了
(三)childNodes的操作
(1)属性nodeName
Utils.getChildrenByTagName = function (node, tagName) {
    var ln = node.childNodes.length;
    var arr = [];
    for (var z = 0; z < ln; z++) {
        if (node.childNodes[z].nodeName == tagName) {
            arr.push(node.childNodes[z]);
        }
    }
    return arr;
};
(2)属性id
function getNodeID(parent, id) {
    var ln = parent.childNodes.length;
    for (var z = 0; z < ln; z++) {
        if (parent.childNodes[z].id == id) {
            return parent.childNodes[z];
        }
    }
    return null;
}
(3)属性className
对应class,如 <tr class="class1">
 function getElementsByClassName(node, className) {
    var children = node.getElementsByTagName("*");
    var elements = new Array();
    for (var i = 0; i < children.length; i++) {
        var child = children[i];
        var classNames = child.className.split(" ");
        for (var j = 0; j < classNames.length; j++) {
            if (classNames[j] == className) {
                elements.push(child);
                break;
            }
        }
    }
    return elements;
}

Javascript 相关文章推荐
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
JavaScript获取当前网页最后修改时间的方法
Apr 03 Javascript
JQuery插入DOM节点的方法
Jun 11 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
Apr 07 Javascript
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
Apr 15 Javascript
vuejs移动端实现div拖拽移动
Jul 25 Javascript
BootstrapValidator验证用户名已存在(ajax)
Nov 08 Javascript
详解React 条件渲染
Jul 08 Javascript
JavaScript使用cookie
Feb 02 #Javascript
如何判断图片地址是否失效
Feb 02 #Javascript
Javascript的IE和Firefox兼容性汇编(zz)
Feb 02 #Javascript
JavaScript 学习 - 提高篇
Feb 02 #Javascript
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 #Javascript
How to Auto Include a Javascript File
Feb 02 #Javascript
Code:loadScript( )加载js的功能函数
Feb 02 #Javascript
You might like
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
dedecms中使用php语句指南
2014/11/13 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
使用jquery+iframe做一个ajax上传效果(实例)
2017/08/24 jQuery
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
Python何时应该使用Lambda函数
2019/07/02 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
优秀学生干部推荐材料
2014/02/03 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
一帮一活动总结
2014/05/08 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
会计系毕业求职信
2014/08/07 职场文书
优秀校长事迹材料
2014/12/24 职场文书
体育教师个人总结
2015/02/09 职场文书
教师辞职书范文
2015/02/26 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang