国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript針對DOM的應(yīng)用分析(二)

2024-05-06 14:22:07
字體:
供稿:網(wǎng)友
其實在原生的也JS也有這些屬性。和JQ幾乎相同但是比JQ少一些。但是用起來卻比JQ麻煩一點。主要因為FF瀏覽器,因為FF會把你的換行也當做一個DOM元素。比如說
代碼如下:
<div id = "dom">
<div></div>
<div></div>
</div>

我用原生的JS獲取ID為dom的元素下的子元素。用我第一章說的方法就是var a = document.getElementById("dom").getElementsByTagName("div");這個沒問題。可以alert(a.length)提示會是2,但是我們現(xiàn)在換一種方法獲取就是我上章提到的var b = document.getElementById("dom").childNodes;如果這樣alert(b.length)IE瀏覽器上沒問題還是2,但是在FF瀏覽器上會提示是4,這就是因為FF把換行也當做一個元素了。
所以我們必須處理一下才能用JS的那些屬性。處理思想很簡單就是遍歷一下這些元素。把元素類型為空格而且是文本都刪除。處理函數(shù)是這樣的
代碼如下:
function del_space(elem){
var elem_child = elem.childNodes;
for(var i=0;i<elem_child.length;i++){
if(elem_child.nodeName == "#text" && !//S/.test(elem_child.nodeValue))
{elem.removeChild(elem_child)}
}}

我解釋一下這個函數(shù)
var elem_child = elem.childNodes;
把傳進來的elem元素的子元素都扔給elem_child;
代碼如下:
for(var i=0;i<elem_child.length;i++){
if(elem_child.nodeName == "#text" && !//S/.test(elem_child.nodeValue))
{elem.removeChild(elem_child)}
}

遍歷這些子元素。如果這些元素里面有節(jié)點類型是文本并且這個文本類型節(jié)點的節(jié)點值是空的。就把它刪除

(nodeName是JS里的一個屬性,得到這個節(jié)點的節(jié)點類型,//S/這個是非空字符在JS里的正規(guī)表達式。前面加一個感嘆號就表示是空字符。test是JS的一個方法,就是把它里面的東西和外面的東西對比一下。nodeValue表示得到這個節(jié)點里的值removeChild也是個方法就刪除外面這個元素的某個子元素)

這樣只需要在調(diào)用這些屬性之前調(diào)用這個函數(shù)把空格清理一下就能放心用了比如
代碼如下:
<div id = "dom">
<div></div>
<div></div>
</div>

<script>
function dom(){
var a = document.getElementById("dom");
del_space(a);調(diào)用清理空格的函數(shù)
var b = a.childNodes;獲取a的全部子節(jié)點;
var c = a.parentNode;獲取a的父節(jié)點;
var d = a.nextSbiling;獲取a的下一個兄弟節(jié)點
var e = a.previousSbiling;獲取a的上一個兄弟節(jié)點
var f = a.firstChild;獲取a的第一個子節(jié)點
var g = a.lastChild;獲取a的最后一個子節(jié)點

}
</script>

(另外說下。var b = a.childNodes;獲取的也是一個數(shù)組;所以比如我要用第一個節(jié)點就是childNodes[0];我要用第二個節(jié)點就是childNodes[1];以此類推)

到這里獲取DOM方面就算是結(jié)束了。下章就教大家如何操作DOM元素。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 偃师市| 湘潭县| 柳河县| 大厂| 张家界市| 吉木萨尔县| 胶南市| 江川县| 阿合奇县| 阳高县| 顺义区| 丰都县| 睢宁县| 沙湾县| 金寨县| 白城市| 萍乡市| 蒲城县| 方正县| 昭觉县| 鄂温| 资源县| 英德市| 定南县| 青浦区| 安吉县| 衢州市| 沙河市| 峨眉山市| 民县| 康保县| 海淀区| 天等县| 兴城市| 宁乡县| 南涧| 合水县| 安阳市| 平原县| 曲沃县| 镇巴县|