日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

childnodes 兼容性问题

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 childnodes 兼容性问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解答一
childNodes 這個方法基本沒法用,存在嚴重的瀏覽器兼容性問題,里面可能包含了很多沒用的空節點,所以你用childNodes(索引)獲取元素是不對的。
table中獲取tr、td等還是挺方便的像這樣:
tr=tbs.rows[索引]
td=tbs.rows[索引].cells[索引]
tbody=tbs.rows[0].parentNode
如果要獲取td里面沒有id的元素比如input那只能用這個方法:
var list=tbs.rows[索引].cells[索引].getElementsByTagName('input');
input=list[索引]

解答二
firefox下面,使用childNodes獲取節點,它會將空格符、回車符、換行符也看做一個文本節點,
解決方案:
1.火狐下面要利用nodeType來過濾掉這些無用的節點。 Java代碼?? function show(n){var rows=[];var one = document.getElementByIdx_x('one_1').parentNode.childNodes;for(i=0;i<one.length;i++){if(one[i].nodeType==1 && one[i].tagName){rows.push(one[i]);}}rows[1].style.background='green';} nodeType==1的時候表名它是一個對象節點。


2.獲取節點時getElementsByTagName取代childNodes Java代碼
  • //只支持IE,childNodes的長度在firefox不一樣 ??
  • //?node1.childNodes[0].getElementsByTagName("input")[1].checked?=true; ??
  • //?node2.childNodes[0].getElementsByTagName("input")[1].checked?=true; ??
  • //只支持全部瀏覽器 ??
  • ??node1.getElementsByTagName("td")[0].getElementsByTagName("input")[1].checked?=true; ??
  • ????node2.getElementsByTagName("td")[0].getElementsByTagName("input")[1].checked?=true; ?
  • 轉載于:https://www.cnblogs.com/xjt360/p/4028027.html

    總結

    以上是生活随笔為你收集整理的childnodes 兼容性问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。