使用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 相关文章推荐
从sohu弄下来的flash中展示图片的代码
Apr 27 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
Feb 06 Javascript
JS之Date对象和获取系统当前时间详解
Jan 13 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
Feb 28 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
JS鼠标拖拽实例分析
Nov 23 Javascript
Vue方法与事件处理器详解
Dec 01 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 Javascript
原生JS实现瀑布流插件
Feb 06 Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 Javascript
layui 富文本编辑器和textarea值的相互传递方法
Sep 18 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
php实现memcache缓存示例讲解
2013/12/04 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
深入浅析JSONAPI在PHP中的应用
2017/12/24 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
浅谈Python的异常处理
2016/06/19 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
毕业生就业自荐书
2013/12/15 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
顶碗少年教学反思
2014/02/21 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
费用申请报告范文
2015/05/15 职场文书
2015年中学总务处工作总结
2015/07/22 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
养成教育工作总结
2015/08/13 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
德劲DE1105机评
2022/04/05 无线电