全國服務熱線:
0791-88196636

南昌莫非:NamedNodeMap對象getNamedltem()、removeNamedltem()、setNamedltem()、item()方法使用方法

 二維碼 9898
發表時間:2020-12-09 11:03作者:南昌莫非網絡科技公司來源:南昌莫非傳媒網址:http://lwdongzao.com/zxncmofei.html

南昌莫非:NamedNodeMap對象getNamedltem()、removeNamedltem()、setNamedltem()、item()方法使用方法

前面我們通過《結合實例講解getAttribute()、setAttribute()和removeAttribute()區別及使用方法》文章介紹過DOM中對元素特性操作的三個方法getAttribute()、setAttribute()和removeAttribute的使用方法,對于真正做開發的技術人員來講,也是我們經常要用到的,接下來由南昌網站制作公司莫非網絡開發工程師結合實例介紹NamedNodeMap對象擁有的方法如何使用,Element類型是使用attributes屬性的**一個DOM節點類型。attributes屬性中包含一個NamedNodeMap,與NodeList類似,也是一個“動態"的集合。元素的每一個特性都由一個Attr節點表示,每個節點都保存在NamedNodeMap對象中。NamedNodeMap對象擁有下列方法。

getNamedltem (name):返回nodeName屬性等于name的節點;


◎removeNamedltem (name):從列表中移除nodeName屬性等于name的節點;


◎setNamedltem (node):向列表中添加節點,以節點的nodeName屬性為索引;


◎item (pos):返回位于數字pos位置處的節點。


attributes屬性中包含一系列節點,每個節點的nodeName就是特性的名稱,而節點的nodeValue 就是特性的值。要取得元素的id特性,可以使用以下代碼:


var id=element.attributes.getNamedltem("id").nodeValue;


以下是使用方括號語法通過特性名稱訪問節點的簡寫方式:


var id=element.attributes["id"].nodeValue;


也可以使用這種語法來設置特性的值,即先取得特性節點,然后再將其nodeValue設置為新值, 如下所示:


element.attributes["id"].nodeValue= "someOtherld";


調用removeNamedltem()方法與在元素上調用removeAttribute()方法的效果相同——直接刪除具有給定名稱的特性。下面的例子展示了兩個方法間**的區別,即removeNamedltem()返回表


示被刪除特性的Attr節點:


var oldAttr=element.attributes.removeNamedltem(“id");


最后,setNamedltem()是一個很不常用的方法,通過這個方法可以為元素添加一個新特性,為此需要為它傳人一個特性節點,如下所示:


element. attributes.setNamedlt em (newAttr);


一般來說,由于前面介紹的attributes的方法不夠方便,因此開發人員更多的會使用 getAttribute()、 removeAttribute()和setAttribute()方法。


不過,如果想要遍歷元素的特性,attributes屬性倒是可以派上用場。在需要將DOM結構序 列化為XML或HTML字符串時,多數都會涉及遍歷元素特性。以下代碼展示了如何迭代元素的每一


個特性,然后將它們構造成name="value" name="value"這樣的字符串格式:


function outputAttributes( element){


var pairs=new Array();


for (var i=0, len=element .attributes. length; i var attrName=element.attributes[i].nodeName ;


var attrValue=element. attributes[i].nodeValue;


pairs. push (attrName+"=""+attrValue+""");


}


return pairs.join("");


這個函數使用了一個數組來保存名值對,最后再以空格為分隔符將它們拼接起來(這是序列化長 字符串時的一種常用技巧)。通過attributes.length屬性,for循環會遍歷每個特性,將特性的名


稱和值輸出為字符串。關于以上代碼的運行結果,以下是兩點必要的說明。


◎針對attributes對象中的特性,不同瀏覽器返回的順序不同。這些特性在XML或HTML代碼中出現的先后順序,不一定與它們出現在attributes對象中的順序一致。


◎IE7及更早的版本會返回HTML元素中所有可能的特性,包括沒有指定的特性。換句話說,返 回100多個特性的情況會很常見。


針對IE7及更早版本中存在的問題,可以對上面的函數加以改進,讓它只返回指定的特性。每個特性節點都有一個名為specified的屬性,這個屬性的值如果為true,則意味著要么是在HTML中


指定了相應特性,要么是通過setAttribute()方法設置了該特性。在IE中,所有未設置過的特性的該屬性值都為false,而在其他瀏覽器中根本不會為這類特性生成對應的特性節點(因此,在這些瀏


覽器中,任何特性節點的specified值始終為true),改進后的代碼如下所示:


function outputAttributes(element){


var pairs=new Array();


for(var i=0, len=element.attributes.length;i var attrName=element.attributes[i].nodeName;


var attrValue=element.attributes[i].nodeValue;


}


return pairs.join("");


}


這個經過改進的函數可以確保即使在IE7及更早的版本中,也會只返回指定的特性。

本文**內部技術人員學習交流,不得作于其他商業用途.希望此文對廣技人員有所幫助。

企業新聞
關于南昌莫非網絡科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3號(星期一)放假,共計三天(無調休),1月4日(星期二)上班。
關于南昌莫非網絡科技公司2021年國慶節放假安排通知。根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年國慶放假的有關事項安排如下。
南昌莫非網絡科技公司2021年中秋節放假通知.一、假期從:2021年09月19日到2021年09月21日結束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有緊急情況,請各位同仁及時配合相關部門主管人員把事情處理妥善。做好防火、防盜工作并督促各部門關好辦公區域的門、窗等。
根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年端午節放假的有關事項安排如下:一、放假時間:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非網絡科技公司2021年五一勞動節放假通知.現就2021年五一勞動節放假的有關事項安排如下:一、放假時間,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非網絡科技公司2021年清明節放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期間,各項業務照常運行,售后問題您可以直接相關負責人提交服務單,技術人員將在12小時之內處理。
關于南昌莫非網絡科技公司2021年春節放假安排通知.一、春節放假時間:2021年2月5日(農歷臘月二十四)至2021年2月18日(農歷正月初七)放假,共13天,2月19日(星期五)開始上班,2月21日星期日(農歷正月初十)恢復正常上班。由于疫情,假期時間可能會有所變化,具體以通知為準。
關于南昌莫非網絡科技公司2021年01月01日元旦放假通知。一、放假時間:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期間如有相關業務及服務事宜敬請撥打我司24小時服務熱線:0791-8819-6636或咨詢客服QQ:2401077293,可隨時與我司進行聯系。
南昌莫非網絡科技公司2020年中秋節+國慶節放假通知。根據《國務院辦公廳關于2020年部分節假日安排的通知》,為了讓大家度過一個充實、平安的假期,現把2020年中秋國慶放假時間及溫馨提示通知如下!
南昌莫非網絡科技公司2020年五一放假通知.在過去的歲月里,南昌莫非網絡科技公司與新老客戶一直保持著愉快的合作,這離不開大家的鼎立支持和幫助。在未來的日子里還需要更多朋友們的支持與幫助,希望你們能始終如一的支持南昌莫非網絡科技,并提出您寶貴的意見及建議。
南昌莫非網絡科技公司2020年春節寒假放假安排通知。南昌莫非網絡科技公司提前祝全國合作伙伴新春快樂、闔家幸福!預祝全體員工春節快樂!
南昌莫非網絡科技公司2020年元旦節放假安排通知.元旦將至,南昌莫非網絡科技公司預祝全體員工元旦快樂!現將2020年元旦節放假安排通告如下:一、放假時間:2020年1月1日,共1天。
網站建設行業方案
網站維護知識
網站制作常見問題
SEO網站優化教程
踏上云端,轉型升級融入互聯網時代,現在就聯系我們吧!
——      我們時刻為你提供更多優質互聯網技術服務      ——
姓名:
*
聯系方式:
*
咨詢項目:
內容:
*
在線留言
關于我們:南昌莫非文化傳媒有限公司(簡稱:莫非傳媒)專注于網站建設,網站SEO優化,小程序制作。提供全方位用戶體驗規劃,品牌形象設計服務。為每一位企業客戶的成長、騰飛助力!        網站建設、網站設計、網站制作、網站開發,就選網站建設公司-南昌莫非傳媒!
掃一掃微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖區洪城路6號國貿廣場A座巨豪峰
業務咨詢  :  
272482065
售后服務 :
2401077293
服務熱線:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________