DOM高級(jí)編程

W3C規(guī)定的三類DOM標(biāo)準(zhǔn)接口

Core DOM(核心DOM)劳坑,適用于各種結(jié)構(gòu)化文檔

XML DOM毡们,專用于XML文檔

HTML DOM元旬,專用于HTML文檔


表格的操作

添加行和單元格

var _table=document.createElement("table");?? //創(chuàng)建表

table.insertRow(i);??????????????//在table的第i行插入行

row.insertCell(i);?????????????????//在row的第i個(gè)位置插入單元格

引用單元格對(duì)象

table.rows[i].cells[i];

刪除行和單元格

table.deleteRow(index);

row.deleteCell(index);


//節(jié)點(diǎn)

alert(oD.nodeType);//node(節(jié)點(diǎn))? type(類型)? 元素節(jié)點(diǎn)的類型的值是 1

// alert(oD.getAttributeNode("id").nodeType);? //屬性節(jié)點(diǎn)類型的值 2

// alert(oS.firstChild.nodeType);? //文本節(jié)點(diǎn)類型的值 3

// alert(oD.nodeValue);//元素節(jié)點(diǎn)的值? null

// alert(oD.getAttributeNode("id").nodeValue);//屬性節(jié)點(diǎn)的值是屬性的值

alert(oS.firstChild.nodeValue);//文本節(jié)點(diǎn)的值是文本的內(nèi)容


//屬性節(jié)點(diǎn)

var btn = document.getElementsByTagName("button");

var pic = document.getElementById("pic");

btn[0].onclick = function(){

// alert(pic.src); //HTML DOM

// alert(pic.getAttribute("src"))? //core DOM

// alert(pic.a)

// alert(pic.getAttribute("a"));//

// pic.src = "img/timg.gif";

// pic.setAttribute("src","img/timg.gif");

// pic.b = "hh";

pic.setAttribute("b","hh");

// HTML dom

// 元素對(duì)象.屬性名? ? 不能獲取或者設(shè)置自定義的屬性的值

//

// core DOM

// 元素對(duì)象.getAttribute("屬性名")? 可以獲取自定義的屬性的值

// 元素對(duì)象.setAttribute("屬性名","屬性值")? 可以設(shè)置自定義的屬性名和屬性值


層次間關(guān)系:

// 通過父親找孩子

// 父元素對(duì)象.firstChild? 單個(gè)

// 父元素對(duì)象.lastChild? 單個(gè)

// 父元素對(duì)象.childNodes? 多個(gè)? ? 通過下標(biāo)訪問單個(gè)子元素

通過孩子找父親

子元素對(duì)象.parentNode? 單個(gè)


// 水平間的查找

// 往前查找:

// 元素對(duì)象.previousSibling? 元素對(duì)象的前一個(gè)節(jié)點(diǎn)? 單個(gè)

//

// 往后查找:

// 元素對(duì)象.nextSibling? ? ? 元素對(duì)象的后一個(gè)節(jié)點(diǎn)? 單個(gè)


節(jié)點(diǎn)三種類型:

元素節(jié)點(diǎn)? ? 對(duì)象.nodeType? 類型的返回值:1

屬性節(jié)點(diǎn)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2

文本節(jié)點(diǎn)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3

nodeValue

父子之間的關(guān)系

通過父節(jié)點(diǎn)找子節(jié)點(diǎn):

父節(jié)點(diǎn).firstChild? ? 單個(gè)

父節(jié)點(diǎn).lastChild? ? 單個(gè)

父節(jié)點(diǎn).childNodes? ? 多個(gè)? ? 通過下標(biāo)去訪問單個(gè)的子節(jié)點(diǎn)

通過子節(jié)點(diǎn)找父節(jié)點(diǎn)

子節(jié)點(diǎn).parentNode? 單個(gè)

平行關(guān)系

元素對(duì)象.previousSibling? 單個(gè)

元素對(duì)象.nextSibling? ? ? 單個(gè)

獲取屬性值:

HMTL DOM 元素對(duì)象.屬性名

CORE DOM 元素對(duì)象.getAttribute("屬性名")

設(shè)置屬性及屬性值

HTML DOM 元素對(duì)象.屬性名 = 屬性值

CORE DOM 元素對(duì)象.setAttribute("屬性名","屬性值")

//查找前一個(gè)元素節(jié)點(diǎn)兄弟

function prev(elem){

do{

elem = elem.previousSibling;

}

while(elem && elem.nodeType != 1);

return elem;

}

//查找后一個(gè)元素節(jié)點(diǎn)

function next(elem){

do{

elem = elem.nextSibling;

}

while(elem && elem.nodeType != 1);

return elem;

}

//查找第一子元素節(jié)點(diǎn)

function first(elem){

elem = elem.firstChild;

// if(elem.nodeType != 1){

// return next(elem);

// }else{

// return elem;

// }

return elem.nodeType != 1 ? next(elem) : elem;

}

//查找最后一個(gè)子元素節(jié)點(diǎn)

function last(elem){

elem = elem.lastChild;

return elem && elem.nodeType != 1 ? prev(elem) : elem;

}

//查找前一個(gè)節(jié)點(diǎn)

function prev(elem){

do{

elem = elem.previousSibling;

}

while(elem.nodeType != 1);

return elem;

}

//查找后一個(gè)元素節(jié)點(diǎn)

function next(elem){

do{

elem = elem.nextSibling;

}

while(elem && elem.nodeType != 1);

return elem;

}


創(chuàng)建新元素對(duì)象:

// document.createElement("標(biāo)簽名字")

// 增加元素:


// 父元素對(duì)象.appendChild(要追加的子元素)

父元素對(duì)象.insertBefore(新插入的元素,參照物元素)


克隆節(jié)點(diǎn):

// 元素對(duì)象.cloneNode(參數(shù))

// 參數(shù):可選的? 是一個(gè)布爾值? 默認(rèn)false? 參數(shù)省略或?yàn)閒alse時(shí),克隆的只是自身,子節(jié)點(diǎn)不會(huì)被克隆

// ? 參數(shù)為true時(shí),克隆的不僅是自身,還有子節(jié)點(diǎn)


克隆節(jié)點(diǎn):

// 元素對(duì)象.cloneNode(參數(shù))

// 參數(shù):可選的? 是一個(gè)布爾值? 默認(rèn)false? 參數(shù)省略或?yàn)閒alse時(shí),克隆的只是自身,子節(jié)點(diǎn)不會(huì)被克隆

// ? 參數(shù)為true時(shí),克隆的不僅是自身,還有子節(jié)點(diǎn)


刪除節(jié)點(diǎn)

// 父元素對(duì)象.removeChild(子元素)

// 替換節(jié)點(diǎn):

// 父元素對(duì)象.replaceChild(新的元素,老元素對(duì)象)


html dom 操作表格

插入行

table對(duì)象.insertRow(索引號(hào))

插入列

行對(duì)象.insertCell(索引號(hào))

引用行

table對(duì)象.rows[下標(biāo)]

引用單元格

table對(duì)象.rows[下標(biāo)].cells[下標(biāo)]

刪除行

table對(duì)象.deleteRow(索引號(hào))

刪除單元格

table對(duì)象.rows[下標(biāo)].deleteCell(索引號(hào))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惰匙,一起剝皮案震驚了整個(gè)濱河市砂吞,隨后出現(xiàn)的幾起案子铛铁,更是在濱河造成了極大的恐慌隔显,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饵逐,死亡現(xiàn)場離奇詭異括眠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)倍权,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門掷豺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人薄声,你說我怎么就攤上這事当船。” “怎么了默辨?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵生年,是天一觀的道長。 經(jīng)常有香客問我廓奕,道長抱婉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任桌粉,我火速辦了婚禮蒸绩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铃肯。我一直安慰自己患亿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布押逼。 她就那樣靜靜地躺著步藕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挑格。 梳的紋絲不亂的頭發(fā)上咙冗,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音漂彤,去河邊找鬼雾消。 笑死灾搏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的立润。 我是一名探鬼主播狂窑,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼桑腮!你這毒婦竟也來了泉哈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤破讨,失蹤者是張志新(化名)和其女友劉穎丛晦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體添忘,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采呐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年若锁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搁骑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡又固,死狀恐怖仲器,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仰冠,我是刑警寧澤乏冀,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站洋只,受9級(jí)特大地震影響辆沦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜识虚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一肢扯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧担锤,春花似錦蔚晨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至多糠,卻和暖如春累舷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夹孔。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工笋粟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怀挠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓害捕,卻偏偏與公主長得像绿淋,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尝盼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • DOM DOM內(nèi)容主要分為四部分: 什么是DOM和節(jié)點(diǎn)吞滞; 獲取節(jié)點(diǎn); 節(jié)點(diǎn)操作(3種)盾沫; 屬性操作(3種)裁赠。 什么...
    magic_pill閱讀 780評(píng)論 0 1
  • 前言 歸根結(jié)底,代碼都是思想和概念的體現(xiàn)赴精。沒人能把一種程序設(shè)計(jì)語言的所有語法和關(guān)鍵字都記住佩捞,可以查閱參考書來解決。...
    朱細(xì)細(xì)閱讀 2,940評(píng)論 4 14
  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類型 克服瀏覽器兼容性問題及各種陷阱 DOM 是針對(duì) HT...
    悶油瓶小張閱讀 644評(píng)論 0 1
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案蕾哟? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評(píng)論 1 92
  • 聚會(huì)回來一忱,你一直目光游離 那是我從來沒見過的 ---有太多陌生的你, 興奮里參半著有惆悵谭确, 迷茫中滲透著憂傷帘营, 飯...
    枯藤殘鴉閱讀 260評(píng)論 0 0