認識 JavaScript 六

HTML DOM基礎(chǔ)知識

? DOM(Document Object Model)是一個標準,W3C(World Wide Web)指定的睬澡,它定義了一個訪問文檔(如:XML、HTML)的標準秩彤。HTML DOM是HTML的標準對象模型杨凑、編程接口,它包含如下內(nèi)容:
1哀蘑、 HTML元素都是對象
2、 包含了HTML元素的所有屬性
3葵第、 訪問HTML元素的方法
4绘迁、 HTML元素的事件
? 頁面加載完,瀏覽器就生成一個樹形DOM卒密∽禾ǎ回憶一下,數(shù)據(jù)結(jié)構(gòu)與算法的書籍里學(xué)習(xí)的樹形結(jié)構(gòu)哮奇,如:無序樹膛腐、二叉樹睛约、完全二叉樹、霍夫曼樹依疼、B樹痰腮、B+樹。節(jié)點之間的關(guān)系有很多種律罢,比如:根節(jié)點膀值、子節(jié)點、兄弟節(jié)點误辑、父節(jié)點沧踏、祖先節(jié)點。HTML的模型同樣的有這樣的節(jié)點關(guān)系巾钉,它的根節(jié)點是:<html>翘狱、它的一個子節(jié)點是<body>。
? 就是依靠這個模型砰苍,我們的JavaScript可以:
改變HTML元素
改變HTML元素的屬性
移除HTML元素
移除HTML元素的屬性
添加HTML元素
添加HTML元素的屬性
改變CSS
移除CSS
響應(yīng)HTML事件
創(chuàng)建HTML事件

關(guān)于HTML DOM的常用函數(shù)

? 當(dāng)我們需要修改一個HTML元素的時候潦匈,我們需要先找到它,然后修改它的內(nèi)容赚导、它的屬性茬缩、它的CSS。

查找HTML元素及其子節(jié)點

  1. 通過ID查找
document.getElementById("car");

? 獲取到一個id為car的元素吼旧,找到了返回的是一個對象凰锡,沒有找到的話,返回null圈暗。document是對象掂为,getElementById("car")是方法。

  1. 通過元素名獲取
var CarColor=document.getElementsByTagName("span");

? 返回所有的span元素员串。一個頁面里可能有很多個span元素勇哗,這個函數(shù)返回的是一個集合,也可以在一定程度上理解為數(shù)組寸齐,但欲诺,它不是數(shù)組。你可以這樣去訪問這個集合的元素:

CarColor[0];

? 你也可以這樣得到這個集合有多少元素

CarColor.length;
  1. 通過元素的class獲取
var CarColor=document.getElementsByClassName("color");

? 一個頁面里可能有很多個元素的類名是color访忿,這個函數(shù)返回的是一個集合,也可以在一定程度上理解為數(shù)組斯稳,但海铆,它不是數(shù)組。你可以這樣去訪問這個集合的元素:

CarColor[0];

? 你也可以這樣得到這個集合有多少元素

CarColor.length;
  1. 函數(shù)querySelectorAll()
document.querySelectorAll("span.color");

? 查找span元素里class為"color"的元素

  1. 復(fù)雜的例子挣惰,組合使用以上幾個函數(shù)
    5.1 查找id為"car"的元素下面所有的<li>元素
var car = document.getElementById("car");
var carList = car.getElementsByTagName("li");
  1. 查找第一個子節(jié)點
document.getElementById("demo").firstChild;
  1. 獲取第一個子節(jié)點的值(innerHTML)
document.getElementById("demo").firstChild.nodeValue;

也可以這樣

document.getElementById("demo").childNodes[0].nodeValue;

修改HTML元素及其屬性

  1. 修改一個元素的內(nèi)容
document.getElementById("car").innerHTML="BMW";

document是對象卧斟,getElementById()是方法殴边,innerHTML是getElementById()方法返回的元素對象的屬性。

  1. 修改元素的屬性
document.getElementById("birdImage").src = "parrot.jpg";

把img元素的src屬性修改為:parrot.jpg珍语。

添加HTML元素锤岸、移除HTML元素

  1. 添加HTML元素
var note=document.createElement("span");//創(chuàng)建元素
var content=document.createTextNode("The British Broadcasting Corporation is a British 
public service broadcaster. ");//添加內(nèi)容
note.appendChild(note);

如果是插入到id為brief的元素后面

var DivElement=document.getElementById("brief");
DivElement.appendChild(note);

如果是插入到id為brief的元素前面

var DivElement=document.getElementById("brief");
DivElement.insertBefore(note);
  1. 移除一個元素
var parent = document.getElementById("");
var child = document.getElementById("");
parent.removeChild(child);

修改CSS、移除CSS

  1. 修改CSS
    函數(shù)原型
document.getElementById(id).style.property=;

這個函數(shù)的property就是在CSS里能設(shè)置的屬性板乙。如:字體大小是偷、顏色、邊框募逞、補白蛋铆、背景圖片等等。
例如:改變p1元素的字體大小

document.getElementById("p1").style.font-size=18px;
  1. 移除CSS
    這個比較難了放接,需要自己寫函數(shù)刺啦,沒有現(xiàn)成的可以調(diào)用。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纠脾,一起剝皮案震驚了整個濱河市玛瘸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌苟蹈,老刑警劉巖糊渊,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異汉操,居然都是意外死亡再来,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門磷瘤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芒篷,“玉大人,你說我怎么就攤上這事采缚≌肼” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵扳抽,是天一觀的道長篡帕。 經(jīng)常有香客問我,道長贸呢,這世上最難降的妖魔是什么镰烧? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮楞陷,結(jié)果婚禮上怔鳖,老公的妹妹穿的比我還像新娘。我一直安慰自己固蛾,他們只是感情好结执,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布度陆。 她就那樣靜靜地躺著,像睡著了一般献幔。 火紅的嫁衣襯著肌膚如雪懂傀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天蜡感,我揣著相機與錄音蹬蚁,去河邊找鬼。 笑死铸敏,一個胖子當(dāng)著我的面吹牛缚忧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杈笔,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼闪水,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蒙具?” 一聲冷哼從身側(cè)響起球榆,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎禁筏,沒想到半個月后持钉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡篱昔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年每强,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片州刽。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡空执,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出穗椅,到底是詐尸還是另有隱情辨绊,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布匹表,位于F島的核電站门坷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏袍镀。R本人自食惡果不足惜默蚌,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苇羡。 院中可真熱鬧绸吸,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绣硝。三九已至蜻势,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鹉胖,已是汗流浹背握玛。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甫菠,地道東北人挠铲。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像寂诱,于是被迫代替她去往敵國和親拂苹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

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

  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,130評論 0 21
  • ??DOM 1 級主要定義的是 HTML 和 XML 文檔的底層結(jié)構(gòu)。 ??DOM2 和 DOM3 級則在這個結(jié)構(gòu)...
    霜天曉閱讀 1,452評論 1 3
  • ??DOM(文檔對象模型)是針對 HTML 和 XML 文檔的一個 API(應(yīng)用程序編程接口)。 ??DOM 描繪...
    霜天曉閱讀 3,655評論 0 7
  • 一泉粉、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,394評論 0 44
  • Author| 塵世gu行轉(zhuǎn)載請注明出處 Selenium是一個Web的自動化測試工具连霉,最初是為網(wǎng)站自動化測試而開...
    塵世gu行閱讀 11,964評論 0 8