使用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 相关文章推荐
写了10年的Javascript也未必全了解的连续赋值运算
Mar 25 Javascript
node.js中的fs.appendFile方法使用说明
Dec 17 Javascript
Shell脚本实现Linux系统和进程资源监控
Mar 05 Javascript
jQuery下拉美化搜索表单效果代码分享
Aug 25 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
JavaScript 截取字符串代码实例
Sep 05 Javascript
解决在Vue中使用axios用form表单出现的问题
Oct 30 Javascript
jquery实现上传图片功能
Jun 29 jQuery
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
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php去除HTML标签实例
2013/11/06 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
jQuery验证元素是否为空的两种常用方法
2015/03/17 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
python定位xpath 节点位置的方法
2019/08/27 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
基于CSS3实现的漂亮Menu菜单效果代码
2015/09/10 HTML / CSS
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
北京华建集团SQL面试题
2014/06/03 面试题
中专自我鉴定范文
2013/10/16 职场文书
演讲稿怎么写
2014/01/07 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
申报优秀教师材料
2014/12/16 职场文书
记者节感言
2015/08/03 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
Python中的 No Module named ***问题及解决
2022/07/23 Python
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript