css選擇器的權(quán)重補(bǔ)充,css中屬性可以重用么?
答案是不可以。
因?yàn)樵赾ss中一個(gè)元素針對(duì)某種樣式只能有一種屬性,如果某種樣式有多個(gè)屬性值,那么最下面的屬性值會(huì)將之前的屬性值覆蓋掉。
原因是css的屬性和屬性值是以鍵值對(duì)的形式存在的,相當(dāng)于js的一個(gè)map對(duì)象,只能有一個(gè)key和一個(gè)屬性值,多個(gè)信息會(huì)造成瀏覽器識(shí)別不出來(lái)。
css層次選擇器有哪些?
選擇器body > div 只操作body下級(jí)的div。div1 + div2 只選擇div1 同級(jí) 隨后 相鄰最近 的div2div1 ~ p 選擇div1下所有的p屬性選擇器
是什么選擇器?
head img 選擇器:就是指定CSS要作用的標(biāo)簽,那個(gè)標(biāo)簽的名稱就是選擇器。意為:選擇哪個(gè)容器。
CSS的選擇器分為兩大類:基本選擇題和擴(kuò)展選擇器。
基本選擇器:
標(biāo)簽選擇器:針對(duì)一類標(biāo)簽ID選擇器:針對(duì)某一個(gè)特定的標(biāo)簽使用
類選擇器:針對(duì)你想要的所有標(biāo)簽使用
通用選擇器(通配符):針對(duì)所有的標(biāo)簽都適用(不建議使用)
dom操作?
文檔對(duì)象模型( DOM, Document Object Model )主要用于對(duì)HTML和XML文檔的內(nèi)容進(jìn)行操作。DOM描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù),通過(guò)對(duì)節(jié)點(diǎn)進(jìn)行操作,實(shí)現(xiàn)對(duì)文檔內(nèi)容的添加、刪除、修改、查找等功能。
一、DOM樹(shù)
DOM樹(shù)有兩種,分別為節(jié)點(diǎn)樹(shù)和元素樹(shù)。
節(jié)點(diǎn)樹(shù):把文檔中所有的內(nèi)容都看成樹(shù)上的節(jié)點(diǎn);
元素樹(shù):僅把文檔中的所有標(biāo)簽看成樹(shù)上的節(jié)點(diǎn)。
二、DOM常用操作
2.1 查找節(jié)點(diǎn)
document.getElementById('id屬性值');
返回?fù)碛兄付╥d的第一個(gè)對(duì)象的引用
document/element.getElementsByClassName('class屬性值');
返回?fù)碛兄付╟lass的對(duì)象集合
document/element.getElementsByTagName('標(biāo)簽名');
返回?fù)碛兄付?biāo)簽名的對(duì)象集合
document.getElementsByName('name屬性值');
返回?fù)碛兄付Q的對(duì)象結(jié)合
document/element.querySelector('CSS選擇器');
僅返回第一個(gè)匹配的元素
document/element.querySelectorAll('CSS選擇器');
返回所有匹配的元素
document.documentElement
獲取頁(yè)面中的HTML標(biāo)簽
document.body
獲取頁(yè)面中的BODY標(biāo)簽
document.all['']
獲取頁(yè)面中的所有元素節(jié)點(diǎn)的對(duì)象集合型
2.2 新建節(jié)點(diǎn)
document.createElement('元素名');
創(chuàng)建新的元素節(jié)點(diǎn)
document.createAttribute('屬性名');
創(chuàng)建新的屬性節(jié)點(diǎn)
document.createTextNode('文本內(nèi)容');
創(chuàng)建新的文本節(jié)點(diǎn)
document.createComment('注釋節(jié)點(diǎn)');
創(chuàng)建新的注釋節(jié)點(diǎn)
document.createDocumentFragment( );
創(chuàng)建文檔片段節(jié)點(diǎn)
2.3 添加新節(jié)點(diǎn)
parent.appendChild( element/txt/comment/fragment );
向父節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)后追加新節(jié)點(diǎn)
parent.insertBefore( newChild, existingChild );
向父節(jié)點(diǎn)的某個(gè)特定子節(jié)點(diǎn)之前插入新節(jié)點(diǎn)
element.setAttributeNode( attributeName );
給元素增加屬性節(jié)點(diǎn)
element.setAttribute( attributeName, attributeValue );
給元素增加指定屬性,并設(shè)定屬性值