------->  

效果:点击右下角单元格,左下角单元格内容被替换成和左上角相同,如上图所示。

实现方式:分别获取各个节点,并将左边节点的内容修改成左上方节点的内容。

代码:

注意的地方:

如果html部分写成如下格式,则无法得到目标的效果。

为了说明这个问题的原因,可以通过获取第一个tr的第一个子节点的类型来说明。

获取第一个tr的第一个子节点类型:

var n = document.getElementsByTagName('tr')[0].firstChild.nodeName;

alert(n);

可以看出,第一个tr的第一个子节点类型是文本类型。

修改html代码结构如下(tr和td标签之间留出若干空格)。

测试此处tr的第一个子节点类型结果如下:

依然是文本类型。

去掉tr和td之间的空格再测试则得到如下结果:

由上面的分析可以得出结论,浏览器对标签之间的空格(空白节点)是敏感的。

节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,而在IE(IE<9)版本中是忽略空白节点的。

为了做到各个浏览器的兼容,有以下两中方法:

第一种方法是改变源码的书写格式

<div id="div" ><divid="div01">这是div01</div ><divid="div02">这是div02</div ></div>

经测试,所有alert的值都是2。但是这种写法看起来很别扭,并且写起来也很麻烦。要是很多很多的代码标签也不易于维护。

第二种方法是在调用childNodes属性之前先将空格删除。下面是一个删除空格的方法:

//如果是文本节点,并且值为空,则删除该节点。
for(vari = 0; i < node.length; i++) {
if(node[i].nodeType == 3 && /\s/.test(node[i].nodeValue)){
node[i].parentNode.removeChild(node[i]);
}}
alert(node.length);

这样也能达到同样的效果,而且html代码格式也不需要改变。

参考:不同浏览器中childNodes获取子节点个数 http://group.zcool.com.cn/post/ZOTE5NjQ0.html

js实现表格中不同单元格内容的替换(不同浏览器的节点属性兼容问题)的更多相关文章

  1. EXCEL中统计单元格内容出现次数

    参考网站: https://jingyan.baidu.com/article/7c6fb428dfcc9580642c90ae.html 统计单元格内容出现次数是工作中经常会涉及到的问题. 那么,如 ...

  2. JS遍历Table的所有单元格内容

    用JS去遍历Table的所有单元格中的内容,可以用如下JS代码实现: 这个方法的参数是唯一标识Table的id,用document对象的获取. function GetInfoFromTable(ta ...

  3. 使用js合并table中的单元格

    用primefaces做的报表,领导要求合并相同内容的单元格,但是primefaces没有找到可以合并单元格的组件,想来想去,只有页面加载后用js合并了. http://blog.csdn.net/d ...

  4. 帆软报表(finereport)JS实现cpt中详细单元格刷新

    1.刷新固定单元格  setInterval(function(){ //获取第二行第 5 列 E2 单元格对象 var _changeCell = $("tr[tridx=1]" ...

  5. Bootstrap3基础 table-condensed 表格中的单元格紧凑一些

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  6. js如何实现动态显示表格数据(点奇数显示奇数单元格内容)

    js如何实现动态显示表格数据(点奇数显示奇数单元格内容) 一.总结 一句话总结: 1.动态指定表格中每个单元格的id,然后通过id可以获取每个单元格,然后对里面的innerHTML进行赋值. 2.弄了 ...

  7. 【表格设置】HTML中合并单元格,对列组合应用样式,适应各浏览器的内容换行

    1.常用表格标签 普通    <table>           |           <tr>          |           |          <th ...

  8. JS动态生成表格后 合并单元格

    JS动态生成表格后 合并单元格 最近做项目碰到表格中的单元格合并的问题,需求是这样的,首先发ajax请求 请求回来后的数据 动态生成表格数据,但是生成后如果编号或者(根据其他的内容)有相同时,要合并单 ...

  9. Excel单元格内容太多会覆盖遮住下一单元格范围

    Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设 ...

随机推荐

  1. ural 1243. Divorce of the Seven Dwarfs

    1243. Divorce of the Seven Dwarfs Time limit: 1.0 secondMemory limit: 64 MB After the Snow White wit ...

  2. BZOJ3941 : [Usaco2015 Feb]Fencing the Herd

    若所有点同侧则表明将各个点带入直线解析式ax+by-c后得到的值均同号等价于最大值和最小值同号考虑CDQ分治,每一步分治的过程中求出上下凸壳,然后三分答案即可时间复杂度$O(n\log^2n)$ #i ...

  3. hdu Cup

    这题是道水题,用数学方法做比较简单.因为在做二分法的专题,所以这里采用二分的方式做,很简单,但是还是要用到数学的知识,比如三角形相似,圆台的 体积公式等. #include"iostream ...

  4. mysql 商品表的设计思路(面向对象建表:类与对象)

    学习地址 http://www.jtthink.com/course/play/352 商品通用信息主表:prop_main 不仔细多说,正常业务都会涉及到并且考虑的相对周全.常用字段[商品id][商 ...

  5. Yii2 验证码不显示

    siteController 中,要将captcha 列为任意用户可以访问

  6. SQL Server访问MySql

    使用环境:操作系统:window7数据库:SQL Server2005.MySql5.01.在安装了SQL Server的服务器上安装MySql的ODBC驱动:下载链接:http://dev.mysq ...

  7. HDU 1016 DFS

    很简单的深搜 只要看出来是深搜... 注意判断最后一点是否与加一为质数 #include<stdio.h> #include<string.h> #include<alg ...

  8. context:component-scan 分析

    <context:component-scan> Web.xml中 <servlet> <servlet-name>springMVC</servlet-na ...

  9. Nginx 笔记与总结(3)配置虚拟主机

    Nginx 重启的另外一种方式,相当于 kill -HUP `cat /usr/local/nginx/logs/nginx.pid`: /usr/local/nginx/sbin/nginx -s ...

  10. Yii源码阅读笔记(十三)

    Model类,集中整个应用的数据和业务逻辑: namespace yii\base; use Yii; use ArrayAccess; use ArrayObject; use ArrayItera ...