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

(一)

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;

}

(0)

相关推荐

  • javascript 判断用户有没有操作页面

    javascript 判断用户有没有操作页面 用js判断用户有没有操作页面,我们所要做的就是整理我们的思路. 一.思路 用户有没有操作界面,我们可以从页面在规定时间内有没有触发事件去考虑.比如用户有没有点击,有没有按键,有没有滚动鼠标滚轴.用户有没有移动鼠标等等.如果用户没有进行这些操作,那么我们可以大概的认为用户没有操作页面.我们可以给一个定时器.来记录在规定时间内用户有没有触发这些事件.我直接贴代码,代码的具体含义,我就不再讲解,思路大概就是这样. 二.代码演示 <!DOCTYPE html

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

    (一) ie .firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用.下面是我就三种浏览器测试的结果: insertRow IE6 :支持,而且默认参数为-1,默认添加到最后 FireFox :支持,但部支持默认参数 Opera :支持,支持默认参数,默认添加到最前 AppendChild IE6 :不支持 FireFox :支持,但增加TR后不影响ROWS O

  • JS调用页面表格导出excel示例代码

    使用JS方法调用页面表格导出excel有很大的限制: 1.目前试了几个浏览器,只有IE支持, 2.点击 工具---安全---自定义级别---ActiveX 相关选项启用 下面是html代码 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath()

  • js操作table元素实现表格行列新增、删除技巧总结

    本文实例讲述了js操作table元素实现表格行列新增.删除的方法.分享给大家供大家参考,具体如下: /************ TableTool.js ****************************************************************************************************************** **********************************************************

  • 利用JQuery操作iframe父页面、子页面的元素和方法汇总

    前言 iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,本文主要给大家分享了关于简单使用JQUERY来操作IFRAME的一些记录,这个使用纯JS也可以实现.下面话不多说了,来一起看看详细的介绍吧. 第一.在iframe中查找父页面元素的方法: $('#id', window.parent.document) 第二.在父页面中获取iframe中的元素方法: $(this).contents().find("#suggestBox") 第三.在iframe

  • JS获取并操作iframe中元素的方法

    JS获取/设置iframe内对象元素.文档的几种方法 1.IE专用(通过frames索引形象定位): 复制代码 代码如下: document.frames[i].document.getElementById('元素的ID'); 2.IE专用(通过iframe名称形象定位): 复制代码 代码如下: document.frames['iframe的name'].document.getElementById('元素的ID'); 以上方法,不仅对iframe适用,对frameset里的frame也同

  • JS简单实现获取元素的封装操作示例

    本文实例讲述了JS简单实现获取元素的封装操作.分享给大家供大家参考,具体如下: JS封装获取元素 js的获取元素: ID:document.getElementById(); class:document.getElementsByName()[]; Tag:document.getElementsByTagName()[] 现在我们要简单的封装这个 1. 函数写法: function $(id){ return document.getElementById(); } 其他类同 使用方法: $

  • js+Html实现表格可编辑操作

    本文实例为大家分享了js+Html实现表格可编辑操作的具体代码,供大家参考,具体内容如下 功能描述:单击页面使单元格td变成可编辑状态,输入内容后,当单元格失去焦点时,保存输入的内容. 点击增加行,在table的末尾增加一行:点击删除行,删除table中最末尾的一行. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  • JS实现的表格操作类详解(添加,删除,排序,上移,下移)

    本文实例讲述了JS实现的表格操作类.分享给大家供大家参考,具体如下: 运行效果截图如下: 点击此处查看在线演示. 具体代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css">*{font-size:14px}button{margin

  • javascript实现对表格元素进行排序操作

    我们在上网中都能看到很多能够排序的,如大小.时间.价格等 现在我们也试一下排序功能: 排序的函数代码:里面含有点击之后排序--还原,和排升序和降序. function sortAge(){ //对年龄进行排序,要先进行获得每一行对象,然后对象对象中的第一个(从0 开始)的大小进行排序 var tabNode = document.getElementById("tabid"); var rows0 = tabNode.rows; var rows1 = []; //现将元素拷贝一份出来

  • 使用js在页面中绘制表格核心代码

    1.先写一个<table>,中间放入<tbody>,但是<tbogy>什么也不加  如何使用js在页面中绘制表格 2.在js中写入方法,绘制表格  如何使用js在页面中绘制表格 其核心语句就是: var row=document.createElement_x("tr"); 就是创建行 var cell=document.createElement_x("td"); 就是创建列 cell.appendChild(document.

随机推荐