文檔對象模型( DOM, Document Object Model )主要用于對HTML和XML文檔的內容進行操作。DOM描繪了一個層次化的節點樹,通過對節點進行操作,實現對文檔內容的添加、刪除、修改、查找等功能。
一、DOM樹
DOM樹有兩種,分別為節點樹和元素樹。
節點樹:把文檔中所有的內容都看成樹上的節點;
元素樹:僅把文檔中的所有標簽看成樹上的節點。
二、DOM常用操作
2.1 查找節點
document.getElementById('id屬性值');
返回擁有指定id的第一個對象的引用
document/element.getElementsByClassName('class屬性值');
返回擁有指定class的對象集合
document/element.getElementsByTagName('標簽名');
返回擁有指定標簽名的對象集合
document.getElementsByName('name屬性值');
返回擁有指定名稱的對象結合
document/element.querySelector('CSS選擇器');
僅返回第一個匹配的元素
document/element.querySelectorAll('CSS選擇器');
返回所有匹配的元素
document.documentElement
獲取頁面中的HTML標簽
document.body
獲取頁面中的BODY標簽
document.all['']
獲取頁面中的所有元素節點的對象集合型
2.2 新建節點
document.createElement('元素名');
創建新的元素節點
document.createAttribute('屬性名');
創建新的屬性節點
document.createTextNode('文本內容');
創建新的文本節點
document.createComment('注釋節點');
創建新的注釋節點
document.createDocumentFragment( );
創建文檔片段節點
2.3 添加新節點
parent.appendChild( element/txt/comment/fragment );
向父節點的最后一個子節點后追加新節點
parent.insertBefore( newChild, existingChild );
向父節點的某個特定子節點之前插入新節點
element.setAttributeNode( attributeName );
給元素增加屬性節點
element.setAttribute( attributeName, attributeValue );
給元素增加指定屬性,并設定屬性值
答案是星星選擇標簽。
因為星號選擇器的定義是用于選擇html中的所有標簽,在一個頁面中我們都會選擇去掉html所有標簽的默認樣式,然后根據自己的需求添加樣式,這個時候就需要使用*選擇標簽。
另外一個*選擇標簽也可以搭配到其他的標簽進行使用,用來選擇表示某個父元素下面的所有子元素標簽。
一、網頁制作中規范使用DIV+CSS命名規則,可以改善優化功效特別是團隊合作時候可以提供合作制作效率。
所有的命名最好都小寫
屬性的值一定要用雙引號("")括起來,且一定要有值如class="DIVcss",id="divcss"
每個標簽都要有開始和結束,且要有正確的層次,排版有規律工整
空元素要有結束的tag或于開始的tag后加上"/"
表現與結構完全分離,代碼中不涉及任何的表現元素,如style、font、bgColor、border等
<h1>到<h5>的定義,應遵循從大到小的原則,體現文檔的結構,并有利于搜索引擎的查詢。
給每一個表格和表單加上一個唯一的、結構標記id
給圖片加上alt標簽
盡量使用英文命名原則
盡量不縮寫,除非一看就明白的單詞
二、相對網頁外層重要部分CSS樣式命名:
外套 wrap ----------------用于最外層
頭部 header --------------用于頭部
主要內容 main ------------用于主體內容(中部)
左側 main-left ------------左側布局
右側 main-right -----------右側布局
導航條 nav -----------------網頁菜單導航條
內容 content ---------------用于網頁中部主體
底部 footer -----------------用于底部
DIV+CSS命名小結:
無論是使用“.”(小寫句號)選擇符號開頭命名,還是使用“#”(井號)選擇符號開頭命名都無所謂,但我們最好遵循。
主要的、重要的、特殊的、最外層的盒子用“#”(井號)選擇符號開頭命名,其它都用“.”(小寫句號)選擇符號開頭命名,同時考慮命名的CSS選擇器在HTML中重復使用調用。
通常我們最常用主要命名有:
wrap(外套、最外層)、header(頁眉、頭部)、nav(導航條)、menu(菜單)、title(欄目標題、一般配合h1\h2\h3\h4標簽使用)
、content (內容區)、footer(頁腳、底部)、logo(標志、可以配合h1標簽使用)、banner(廣告條,一般在頂部)、copyRight(版權)。
ID用于標識頁面上的特定元素(比如站點導航),而且必須是唯一的。 ID也可以用來標識持久的結構性元素,例如主導航或內容區域。ID還可以用來標識一次性元素,例如某個鏈接或表單元素。一個ID只能應用于頁面上的一個元素。
class同一個類名可以應用于頁面上任意多個元素,因此類的功能強大的多。類非常適合表示內容的類型或其他相似的條目。
在實際開發中,要根據實際使用情況來決定是使用哪種樣式。對于單一元素的在單一界面的展示樣式可以推薦是用id來定位。多余多個界面公用,或者同一界面多個元素風格一致,樣式統一使用class類要方便的多。
下面就是最簡單的一個小例子:
展示效果: