中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

整理JavaScript對DOM中各種類型的元素的常用操作
來源:易賢網 閱讀:991 次 日期:2016-07-02 14:00:07
溫馨提示:易賢網小編為您整理了“整理JavaScript對DOM中各種類型的元素的常用操作”,方便廣大網友查閱!

這篇文章主要介紹了JavaScript對DOM中各種類型的元素的常用操作整理,DOM操作是JavaScript程序的一大根本任務,需要的朋友可以參考下

節點類型

nodeType

以下是一些重要的nodeType的取值:

1: 元素element

2: 屬性attr

3: 文本text

8: 注釋comments

9: 文檔document

nodeName,nodeValue

節點關系

childNodes: 每個節點都有一個childNodes屬性,其中保存著一個NodeList對象

firstChild: 等同于childNodes[0]

lastChild: 等同于childNodes.length-1

同時通過使用列表中每個節點的previousSibling和nextSibling屬性,可以訪問同一列表中的其他節點。

操作節點

appendChild()

appendChild()方法用于向childNodes列表的末尾添加一個節點。添加節點后,childNodes的新增節點、父節點及以前的最后一個子節點的關系指針都會相應地得到更新。

insertBefore()

insertBefore()這個方法接受兩個參數:要插入的節點和作為參照的節點。

// 插入后成為最后一個子節點

returnedNode = someNode.insertBefore(newNode,null);

// 插入后成為第一個節點

returnedNode = someNode.insertBefore(newNode,someNode.firstChild);

// 插入到最后一個子節點前面

returnedNode = someNode.insertBefore(newNode,someNode.lastChild);

repaceChild()

repaceChild()接受兩個參數,要插入的節點和要替換的節點

var returnedNode = someNode.replaceChild(newNode,someNode.firstChild);

removeChild()

只移除而非替換節點。

var formerFirstChild = someNode.removeChild(someNode.firstChild);

cloneNode()

item 1

item 2

item 3

var deepList = myList.cloneNode(true);

console.log(deepList.length); // 3

var shallowList = myList.cloneNode(false);

console.log(shallowList.childNodes.length); //0

Document類型

Document節點具有下列特征:

nodeType的值為9;

nodeName的值為#document;

nodeValue的值為null;

parentNode的值為null;

ownerDocument的值為null;

文檔的子節點

var html = document.documentElement; // 取得對<html>的引用

console.log(html === document.childNodes[0]); // true

console.log(html === document.firstChild); // true

文檔信息

// 取得文檔的標題

var originalTitle = document.title; 

// 設置文檔標題

document.title = "New page title";

// 取得完整的url

var url = document.URL;

// 取得域名

var domain = document.domain;

// 取得來源頁面的url

var referrer = document.referrer;

//假設頁面來自p2p.wrox.com域

document.domain = "wrox.com"; // 成功

document.domain = "nczonline.net"; // 失敗

在IE7中調用document.getElementById("myElement");結果會返回<input>元素,如下所示;

最好的辦法是不讓表單字段的name特性與其他元素的ID相同。

<input type="text" name="myElement" value="text field">

<div id="myElement">a div</div>

特殊集合

document.anchors,包含文檔中所有帶name特性的a元素;

document.forms, 包含文檔中所有form元素,與document.getElementsByTagName("form")得到的結果相同;

document.images,包含文檔中所有的img元素,與document.getElementsByTagName("img")得到的結果相同;

document.links,包含文檔中所有帶href特性的a元素;

文檔寫入

<html>

<head>

   <title>document.write() Example 3</title>

</head>

<body>

   <script type="text/javascript">

     document.write("<script type=\"text/javascript\" src=\"file.js\">") + "<\/script>");

   </script>

</body>

</html>

字符串<\/script>不會被當作外部script標簽的關閉標簽,因而頁面中也就不會出現多余的內容了。

Element類型

Element節點具有以下特征:

nodeType的值為1;

nodeName的值為元素的標簽名;

nodeValue的值為null;

parentNode可能是Document或Element;

要訪問元素的標簽名,可以使用nodeName屬性,也可以使用tagName屬性;

<div id="myDiv"></div>

var div = document.getElementById("myDiv");

console.log(div.tagName); // DIV

console.log(div.nodeName); // DIV

if (element.tagName=="div") { // 不能這樣比較,很容易出錯

}

if (element.tagName.toLowerCase =="div") { // 這樣最好(適用于任何文檔)

}

取得特性

操作特性的DOM方法主要有三個,分別是getAttribute()、setAttribute()、removeAttribute();

注意,傳遞給getAttribute()的特性名與實際的特性名相同。印象要想得到class的特性值,應該傳入"class"而不是"className"。

var div = document.getElementById("myDiv");

console.log(div.getAttribute("class")); // bd

創建元素

使用document.createElement()方法可以創建新元素。

元素的子節點

在執行某項操作以前,通常都要先檢查一下nodeType屬性,如下面的例子所示:

for (var i=0; len = element.childNodes.length; i<len; i++){

  if (element.childNodes[i].nodeType ==1) {

    // 執行某些操作

  }

}

Text類型

Text節點具有以下特征:

nodeType的值為3;

nodeName的值為"#text";

nodeValue的值為節點所包含的文本;

parentNode是一個Element;

創建文本節點

可以使用document.createTextNode()創建新文本節點。

規范化文本節點

normalize()

分割文本節點

splitText()

Comment類型

comment節點具有下列特征:

nodeType的值為8;

nodeName的值為"#comment";

nodeValue的值是注釋的內容;

parentNode可能是Document或Element;

不支持(沒有)子幾點;

DOM操作技術

操作表格

// 創建 table

var table = document.createElement("table");

table.border = 1;

table.width = "100%";

// 創建tbody

var tbody = document.createElement("tbody");

table.appendChild(tbody);

// 創建第一行

tbody.insertRow(0);

tbody.rows[0].insertCell(0);

tbody.rows[0].cells[0].appendChild(document.createTextNode("cell 1,1"));

tbody.rows[0].insertCell(1);

tbody.rows[0].cells[1].appendChild(document.createTextNode("cell 2,1"));

// 創建第二行

tbody.insertRow(01);

tbody.rows[1].insertCell(0);

tbody.rows[1].cells[0].appendChild(document.createTextNode("cell 1,2"));

tbody.rows[1].insertCell(1);

tbody.rows[1].cells[1].appendChild(document.createTextNode("cell 2,2"));

document.body.appendChild(table);

選擇符API

querySelector()方法

// 取得body元素

var tbody = document.querySelector('body');

// 取得ID為"myDIV"的元素

var myDIV = document.querySelector("#myDiv");

// 取得類為"selected"的第一個元素

var selected = document.querySelector(".selected");

// 取得類為"button"的第一個圖像元素

var img = document.body.querySelector("img.button");

querySelectorAll()方法

// 取得某<div>中的所有<em>元素(類似于getElementsByTagName("em"))

var ems = document.getElementById("myDiv").querySelectorAll("em");

// 取得類為"selected"的所有元素

var selecteds = document.querySelectorAll(".selected");

// 取得所有<p>元素中的所有<strong>元素

var strongs = document.querySelectorAll("p strong");

HTML5

與類相關的擴充

getElementsByClassName()方法:

該方法可以通過document對象及所有HTML元素調用該方法。

// 取得所有類中包含"username"和"current"的元素。類名的先后順序無所謂

var allCurrentUsernames = document.getElementsByClassName("username current");

// 取得ID為"myDiv"的元素中帶有類名"selected"的所有元素

var selected = document.getElementById("myDiv").getElementsByClassName("selected");

焦點管理

HTML5也添加了輔助管理DOM焦點的功能。首先就是document.activeElement屬性,這個屬性始終會引用DOM中當前獲得了焦點的元素。

var button = document.getElementById("myButton");

button.focus();

alert(document.activeElement === button); // true

默認情況下,文檔剛剛加載完成時,document.activeElement中保存的是document.body元素的引用。文檔加載期間,docuemnt.activeElement的值為null。

另外就是新增了document.hasFocus()方法,這個方法用于確定文檔是否獲得了焦點。

var button = document.getElementById("myButton");

botton.focus();

alert(document.hasFocus()); // true

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美一区成人| 一区二区亚洲精品| 亚洲欧美日韩成人| 久久精品国产综合| 欧美一区二区三区在| 久久一区激情| 国产精品v亚洲精品v日韩精品 | 久久久国产亚洲精品| 欧美成人自拍视频| 国产亚洲在线观看| 一本色道久久综合亚洲精品不| 亚洲欧美日韩直播| 欧美激情a∨在线视频播放| 国产乱子伦一区二区三区国色天香| 红桃视频亚洲| 亚洲免费在线电影| 欧美日韩在线观看一区二区| 伊人久久综合| 欧美在线视频日韩| 国产精品亚发布| 亚洲小少妇裸体bbw| 欧美日本国产视频| 亚洲精品一区二区三区不| 狂野欧美性猛交xxxx巴西| 国产欧美精品国产国产专区| 日韩亚洲成人av在线| 久久人人爽人人| 国产日韩欧美日韩| 性欧美办公室18xxxxhd| 国产精品国产三级国产专区53| 亚洲毛片一区| 欧美精品黄色| 9i看片成人免费高清| 欧美伦理91| 一区二区三区高清| 欧美视频精品在线| 亚洲已满18点击进入久久| 欧美三级不卡| 亚洲专区在线| 国产亚洲激情| 久久一区二区视频| 亚洲精品久久久久久久久久久久久| 裸体丰满少妇做受久久99精品| 黑人一区二区三区四区五区| 久久日韩粉嫩一区二区三区| 在线电影院国产精品| 蜜乳av另类精品一区二区| 亚洲国产天堂网精品网站| 欧美大色视频| 一本色道88久久加勒比精品| 欧美午夜精品久久久久久人妖| 在线亚洲欧美专区二区| 国产精品一级在线| 老鸭窝毛片一区二区三区| 亚洲精品系列| 国产日韩在线播放| 免播放器亚洲| 亚洲一区二区四区| 狠狠色狠狠色综合日日91app| 另类尿喷潮videofree| 日韩午夜精品视频| 国产精品一二一区| 欧美大片免费| 最新成人在线| 欧美日韩国产精品成人| 亚洲欧美国产一区二区三区| 国产一区二区中文字幕免费看| 久久精品国产亚洲一区二区三区| 在线观看欧美日韩| 国产精品日韩欧美大师| 久久亚洲春色中文字幕| 亚洲视频在线一区| 亚洲国产小视频在线观看| 国产精品视频最多的网站| 欧美成人性生活| 欧美在线播放| 亚洲视频一区二区| 亚洲黄色一区| 国产精品免费观看视频| 老牛嫩草一区二区三区日本| 一区二区三区欧美日韩| 亚洲第一在线视频| 国产欧美欧洲在线观看| 欧美三级电影精品| 美女脱光内衣内裤视频久久网站| 亚洲新中文字幕| 亚洲人www| 国产真实久久| 国产精品一区二区三区四区五区| 欧美精品在线看| 久久亚洲电影| 久久狠狠亚洲综合| 欧美亚洲一区在线| 亚洲制服av| 亚洲网站在线| 亚洲视频福利| 亚洲午夜三级在线| 一区二区免费在线观看| 日韩亚洲欧美中文三级| 亚洲国产日韩欧美在线动漫| 合欧美一区二区三区| 好吊成人免视频| 一区精品在线| 亚洲电影免费观看高清完整版在线观看 | 久久久www| 久久精品72免费观看| 欧美一区观看| 久久久午夜精品| 久久久久久久综合狠狠综合| 久久蜜桃资源一区二区老牛 | 国产精品99久久久久久久vr| 亚洲人成艺术| 日韩午夜电影在线观看| 亚洲桃花岛网站| 午夜欧美电影在线观看| 欧美在线观看网站| 久久性色av| 欧美精品一区在线| 欧美亚日韩国产aⅴ精品中极品| 国产精品v日韩精品| 国产一区二区久久| 在线观看欧美黄色| 一区二区三区日韩欧美| 亚洲欧美欧美一区二区三区| 欧美一区二区三区成人 | 韩国av一区| 亚洲国产精品久久久| 亚洲人成高清| 亚洲综合色丁香婷婷六月图片| 亚洲自拍偷拍视频| 久久久女女女女999久久| 欧美激情精品久久久久久| 欧美婷婷六月丁香综合色| 国产精品日韩欧美综合| 狠狠综合久久av一区二区老牛| 亚洲国产视频a| 亚洲欧美电影在线观看| 久久综合激情| 国产精品日日摸夜夜添夜夜av| 在线不卡a资源高清| 一区二区免费在线视频| 久久精品国产99| 欧美日本在线| 国产一区二区久久| 一区二区三区四区在线| 裸体女人亚洲精品一区| 国产精品美女久久久久久2018| 伊人成综合网伊人222| 国产精品99久久久久久www| 久久一区二区三区国产精品 | 欧美激情影院| 国产亚洲欧美一级| 一区二区三区高清不卡| 久色婷婷小香蕉久久| 国产精品天天看| 日韩一区二区电影网| 久久这里有精品视频| 国产欧美日韩在线播放| 亚洲视频专区在线| 欧美日韩国产91| 亚洲国产日韩美| 免费观看在线综合| 国产精品自拍三区| 在线一区二区三区做爰视频网站| 浪潮色综合久久天堂| 国产拍揄自揄精品视频麻豆| 亚洲精品国偷自产在线99热| 亚洲免费一在线| 欧美日韩三级一区二区| 亚洲国产一成人久久精品| 久热精品在线| 精品99一区二区| 久久精品亚洲乱码伦伦中文| 国产精品理论片在线观看| 亚洲卡通欧美制服中文| 久久久久国产精品麻豆ai换脸| 国产精品日韩一区| 亚洲一区二区三区高清| 欧美日韩在线看| 在线一区二区三区四区| 欧美日韩午夜| 日韩一级网站| 欧美日韩国产在线播放网站| 亚洲高清一区二| 久久久在线视频| 1024精品一区二区三区| 久久久蜜桃一区二区人| 在线观看日韩专区| 欧美肥婆bbw| 一区二区三区 在线观看视| 麻豆精品视频在线| 91久久精品国产91久久| 欧美日韩亚洲成人| 亚洲午夜精品久久久久久浪潮 | 一区二区高清| 欧美精品久久久久久久久久| 亚洲黄色小视频| 欧美色网在线| 欧美一区91| 18成人免费观看视频|