国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【EASYDOM系列教程】之遍歷元素

codeGoogle / 2974人閱讀

摘要:對象提供了一系列的屬性和方法用來利用元素樹結(jié)構(gòu)中元素的關(guān)系實現(xiàn)遍歷其中的元素。關(guān)于元素之間的關(guān)系,可以參考元素樹一節(jié)有關(guān)元素之間關(guān)系的內(nèi)容。該屬性獲取一個包含指定元素的所有子元素的集合。值得注意的是如果當前元素無子節(jié)點,則屬性返回。

Element 對象提供了一系列的屬性和方法用來利用 DOM 元素樹結(jié)構(gòu)中元素的關(guān)系實現(xiàn)遍歷其中的元素。

關(guān)于元素之間的關(guān)系,可以參考《DOM 元素樹》一節(jié)有關(guān)元素之間關(guān)系的內(nèi)容。

獲取子元素

通過 HTML 頁面中指定元素查找其子元素,我們可以通過以下 Element 對象的屬性實現(xiàn):

屬性名 描述
children 獲取指定元素的所有子元素
firstElementChild 獲取指定元素的第一個子元素
lastElementChild 獲取指定元素的最后一個子元素

值得注意的是: HTML 頁面中某個元素的子元素不一定是唯一的。

獲取所有子元素

Element 對象提供了 children 屬性用于獲取 HTML 頁面中指定節(jié)點的所有子元素:

var elList = element.children;

在上述語法結(jié)構(gòu)中,children 屬性的返回值 elList 是一個 HTMLCollection 對象,并且為只讀。該屬性獲取一個包含指定元素的所有子元素的集合。

以下代碼示例,就是通過指定元素獲取其所有子元素,再實現(xiàn)其他操作的:

var parentElem = document.getElementById("parent");
var children = parentElem.children;
console.log(children);
獲取所有子元素的個數(shù)

Element 對象提供了 childElementCount 屬性用于獲取指定元素的所有子元素的個數(shù):

var count = element.childElementCount;

在上述語法結(jié)構(gòu)中,childElementCount 屬性返回的 count 表示指定元素的所有子元素的個數(shù)。

以下代碼示例,就是通過指定元素獲取其所有子元素的個數(shù),再實現(xiàn)其他操作的:

var parentElem = document.getElementById("parent");
var count = parentElem.childElementCount;
console.log(count);
獲取第一個子元素

Element 對象提供了 firstElementChild 屬性用于獲取指定元素的第一個子元素:

var first_child = element.firstElementChild;

在上述語法結(jié)構(gòu)中,firstElementChild 屬性返回的 first_child 表示當前元素的第一個子元素的引用。

值得注意的是: 如果當前元素無子節(jié)點,則 firstElementChild 屬性返回?null。

以下代碼示例,就是通過指定元素獲取其第一個子元素,再實現(xiàn)其他操作的:

var parentElem = document.getElementById("parent");
var firstChild = parentElem.firstElementChild;
console.log(firstChild);
獲取最后一個元素

Element 對象提供了 lastElementChild 屬性用于獲取指定元素的最后一個子元素:

var last_child = node.lastElementChild;

在上述語法結(jié)構(gòu)中,lastElementChild 屬性返回的 last_child 表示當前元素的最后一個子元素的引用。

值得注意的是: 如果當前節(jié)點無子元素,則 lastElementChild 屬性返回?null。

以下代碼示例,就是通過指定元素獲取其最后一個子元素,再實現(xiàn)其他操作的:

var parentElem = document.getElementById("parent");
var lastChild = parentElem.lastElementChild;
console.log(lastChild);
獲取相鄰兄弟元素

通過 HTML 頁面中指定元素查找其相鄰兄弟元素,我們可以通過以下 Element 對象的屬性實現(xiàn):

屬性名 描述
previousElementSibling 獲取指定元素的前面相鄰兄弟元素
nextElementSibling 獲取指定元素的后面相鄰兄弟元素
獲取相鄰前面兄弟元素

Element 對象提供了 previousElementSibling 屬性用于獲取指定元素的前面相鄰兄弟元素:

previousElem = element.previousElementSibling;

在上述語法結(jié)構(gòu)中,previousElementSibling 屬性返回的 previousElem 表示當前元素的前一個兄弟元素。

值得注意的是: 如果當前節(jié)點無前一個兄弟元素,則 previousElementSibling 屬性返回?null。

以下代碼示例,就是通過指定元素獲取其前面相鄰兄弟元素,再實現(xiàn)其他操作的:

var btn = document.getElementById("btn");
var previousElem = btn.previousElementSibling;
console.log(previousElem);
獲取相鄰后面兄弟元素

Element 對象提供了 nextElementSibling 屬性用于獲取指定元素的后面相鄰兄弟元素:

nextElem = element.nextElementSibling;

在上述語法結(jié)構(gòu)中,nextElementSibling 屬性返回的 nextElem 表示當前元素的后一個兄弟元素。

值得注意的是: 如果當前節(jié)點無后一個兄弟元素,則 nextElementSibling 屬性返回?null。

以下代碼示例,就是通過指定元素獲取其后面相鄰兄弟元素,再實現(xiàn)其他操作的:

var btn = document.getElementById("btn");
var nextElem = btn.nextElementSibling;
console.log(nextElem);
瀏覽器兼容問題

上述 Element 對象的遍歷元素屬性中,除 children 外,其他屬性均不支持 IE 8 及之前版本的瀏覽器:

childElementCount

firstElementChild

lastElementChild

previousElementSibling

nextElementSbling

瀏覽器兼容問題解決方案

我們可以通過自定義 JavaScript 文件方式,實現(xiàn)瀏覽器兼容問題。如以下代碼示例:

/**
 * Adds support to IE8 for the following properties:
 *
 *     Element.childElementCount
 *     Element.firstElementChild
 *     Element.lastElementChild
 *     Element.nextElementSibling
 *     Element.previousElementSibling
 */
(function(){
    "use strict";
    
    
    var patches = {
        
        firstElementChild: function(){
            for(var nodes = this.children, n, i = 0, l = nodes.length; i < l; ++i)
                if(n = nodes[i], 1 === n.nodeType) return n;
            return null;
        },
        
        lastElementChild: function(){
            for(var nodes = this.children, n, i = nodes.length - 1; i >= 0; --i)
                if(n = nodes[i], 1 === n.nodeType) return n;
            return null;
        },
        
        nextElementSibling: function(){
            var e = this.nextSibling;
            while(e && 1 !== e.nodeType)
                e = e.nextSibling;
            return e;
        },
        
        previousElementSibling: function(){
            var e = this.previousSibling;
            while(e && 1 !== e.nodeType)
                e = e.previousSibling;
            return e;
        },
        
        childElementCount: function(){
            for(var c = 0, nodes = this.children, n, i = 0, l = nodes.length; i < l; ++i)
                (n = nodes[i], 1 === n.nodeType) && ++c;
            return c;
        }
    };
    
    for(var i in patches)
        i in document.documentElement ||
        Object.defineProperty(Element.prototype, i, {get: patches[i]});
}());

需要說明的是: 上述瀏覽器兼容問題的解決方案是由 Snippets 開源項目提供的。

本教程免費開源,任何人都可以免費學(xué)習(xí)、分享,甚至可以進行修改。但需要注明作者及來源,并且不能用于商業(yè)。

本教程采用知識共享署名-非商業(yè)性使用-禁止演繹 4.0 國際許可協(xié)議進行許可。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/87329.html

相關(guān)文章

  • EASYDOM系列教程獲取內(nèi)聯(lián)樣式

    摘要:回顧什么是內(nèi)聯(lián)樣式所謂內(nèi)聯(lián)樣式,就是通過頁面元素的屬性為當前元素定義樣式。對象提供的屬性和方法可以幫助我們獲取樣式的具體內(nèi)容。遍歷對象由于對象具有屬性,返回該對象的屬性的數(shù)量。方法通過獲取的樣式屬性名,這種方式也可以通過方式進行替換。 回顧什么是內(nèi)聯(lián)樣式 所謂內(nèi)聯(lián)樣式,就是通過 HTML 頁面元素的 style 屬性為當前元素定義 CSS 樣式。 以下代碼示例,就是通過 style 屬...

    xiaodao 評論0 收藏0
  • EASYDOM系列教程定位頁面元素

    摘要:對象提供了屬性和方法實現(xiàn)定位頁面元素功能,這也是的標準規(guī)范中對象的主要應(yīng)用之一。是返回值,表示定位元素的集合,是一個集合。定位匹配選擇器的第一個元素。方法定位頁面元素所返回的集合就是靜態(tài)集合。 Document 對象提供了屬性和方法實現(xiàn)定位頁面元素功能,這也是 DOM 的標準規(guī)范中 Document 對象的主要應(yīng)用之一。 定位頁面元素方法 目前 Document 對象提供實現(xiàn)定位頁面元...

    NotFound 評論0 收藏0
  • EASYDOM系列教程定位頁面元素

    摘要:對象提供了屬性和方法實現(xiàn)定位頁面元素功能。定位匹配選擇器的第一個元素。是返回值,表示定位元素的集合,是一個集合。下面是使用方法的示例代碼循環(huán)遍歷所有元素上述代碼通過方法定位頁面中元素名為的元素,并遍歷所有得到的元素,為其元素的屬性添加樣式。 Element 對象提供了屬性和方法實現(xiàn)定位頁面元素功能。該對象與 Document 對象提供的屬性和方法實現(xiàn)定位頁面元素功能的區(qū)別在于,Docu...

    MartinDai 評論0 收藏0
  • EASYDOM系列教程 Element 對象

    摘要:而標準規(guī)范中提供了對象,主要是依靠元素樹結(jié)構(gòu)訪問和更新頁面的內(nèi)容。值得注意的是所有的頁面的元素都是對象,而這個對象又是繼承于對象的。我們可以簡單地理解對象是對象的補充。本教程采用知識共享署名非商業(yè)性使用禁止演繹國際許可協(xié)議進行許可。 DOM 的標準規(guī)范中提供了 Element 對象,該對象提供了 HTML 頁面中所有元素所具有的屬性和方法。 我們都知道 DOM 標準規(guī)范中提供了 Nod...

    jeyhan 評論0 收藏0
  • EASYDOM系列教程遍歷節(jié)點

    摘要:對象提供了一系列的屬性和方法用來利用節(jié)點樹結(jié)構(gòu)中節(jié)點的關(guān)系實現(xiàn)遍歷其中的節(jié)點。在上述語法結(jié)構(gòu)中,屬性返回指定節(jié)點的父元素節(jié)點。該屬性獲取一個包含指定節(jié)點的所有子節(jié)點的集合。值得注意的是及之前版本的瀏覽器中不存在空白節(jié)點問題。 Node 對象提供了一系列的屬性和方法用來利用 DOM 節(jié)點樹結(jié)構(gòu)中節(jié)點的關(guān)系實現(xiàn)遍歷其中的節(jié)點。 關(guān)于節(jié)點之間的關(guān)系,可以參考《DOM樹結(jié)構(gòu)》一節(jié)有關(guān)節(jié)點之間關(guān)...

    BigNerdCoding 評論0 收藏0

發(fā)表評論

0條評論

codeGoogle

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<