摘要:返回值一個(gè)對象集合,包含六個(gè)屬性上下左右寬高注意只用于行內(nèi)元素只能獲取樣式只讀獲取元素位置獲得頁面中某個(gè)元素的左,上,右和下分別相對瀏覽器視窗的位置。返回一個(gè)類數(shù)組對象,其包含樣式表中所有規(guī)則。
[TOC]
獲取樣式 元素對象的寬高位置距離等屬性如offsetWidht、cilentWidht、scrollWidth……
let oWidth=obj.offsetWidth;
注意:
只能獲取屬性值(只讀)
(這些寬高距離的)值是數(shù)字
style對象的屬性獲取所有樣式(樣式的內(nèi)容,字符串形式)cssText 和獲取單項(xiàng)樣式:
let oStyle=obj.style.cssText; let oWidth=obj.style.width;
注意:
需要用屬性名cssFloat代替float(float是JavaScript保留關(guān)鍵字)
取得的屬性值帶有單位(如果有單位)
只能獲取行內(nèi)樣式(html標(biāo)簽中的樣式)
可以獲取和設(shè)置(可讀可寫)
window對象的getComputedStyle() 方法獲取當(dāng)前元素所有最終使用的CSS屬性值,該方法屬于window對象。 ie8-使用 getCurrentStyle(元素對象的方法)
接收兩個(gè)參數(shù):元素對象和要匹配的偽元素的字符串(普通元素省略或null)
返回一個(gè)對象,可用使用該返回對象的屬性和方法獲取樣式:
通過屬性名獲取相應(yīng)屬性值
let oColor=window.getComputedStyle(obj, null).color;
getPropertyCSSValue()方法獲取CSSValue對象的屬性
接收一個(gè)參數(shù):屬性名(帶引號,原帶-的CSS屬性要轉(zhuǎn)換成駝峰法書寫)
返回一個(gè)給定屬性值的CSSValue對象,該對象有3個(gè)屬性:primitiveType、cssText和cssValueType,
let oStyle=window.getComputedStyle(obj,null).getPropertyCSSValue("color").cssText;
getPropertyValue()方法
可以獲取CSS樣式申明對象上的屬性值(直接屬性名稱)
接收一個(gè)參數(shù):屬性名(帶引號,原帶-的CSS屬性要轉(zhuǎn)換成駝峰法書寫)
let oBgc=window.getComputedStyle(obj, null).getPropertyValue("background-color");
注意:
全局對象的方法
只能獲取樣式(只讀)
能獲取默認(rèn)、繼承的屬性
返回的值帶有單位(如果有)
獲取最終樣式值
元素對象的getClientRects()/getBoundingClientRect()方法元素對象的方法。
getClientRects() 獲取元素矩形區(qū)域樣式
獲取元素占據(jù)頁面的所有矩形區(qū)域樣式。返回值一個(gè)TextRectangle對象集合,包含:top left bottom right width height 六個(gè)屬性(上下左右寬高)
注意:
只用于行內(nèi)元素
只能獲取樣式(只讀)
let rectCollection = obj.getClientRects();
getBoundingClientRect()獲取元素位置
獲得頁面中某個(gè)元素的左,上,右和下分別相對瀏覽器視窗的位置。
返回值一個(gè)對象,具有6個(gè)屬性:top,lef,right,bottom,width,height。
注意:
獲取的位置是元素相對于的視口的位置
right是指元素右邊界距窗口最左邊的距離,bottom是指元素下邊界距窗口最上面的距離。
只能獲取樣式(只讀)
let eleInfo= obj.getBoundingClientRect();CSS StyleSheets對象的屬性和方法
document.styleSheets返回StyleSheetList是一個(gè)類數(shù)組對象,包含了當(dāng)前文檔的所有css樣式表。
cssRules 返回一個(gè)類數(shù)組對象cssRuleList,其包含樣式表中所有CSS規(guī)則。
cssRules數(shù)組對象內(nèi)元素的常用屬性(屬性均為只讀,屬性值均是字符串):
cssText 返回css樣式
style.cssText 返回該條規(guī)則的所有樣式聲明
style.[attr] 返回具體某個(gè)屬性的樣式
selectorText 返回該條規(guī)則的選擇器
parentRule 返回包含規(guī)則(如果有)(例如 @media 塊中的樣式規(guī)則)
document.styleSheets; //當(dāng)前文檔所有css樣式表的類數(shù)組對象 document.styleSheets.lenth; //當(dāng)前文檔有多少樣式表 document.styleSheets[0]; //當(dāng)前文檔第0個(gè)樣式表的類數(shù)組對象 document.styleSheets[0].cssRules[0]; //當(dāng)前文檔第0個(gè)樣式表的第0條樣式 document.styleSheets[0].cssRules.length; //當(dāng)前樣式表有多少條樣式 document.styleSheets[0].cssRules[0].cssText; //第0條樣式的內(nèi)容 document.styleSheets[0].cssRules[0].style.width; //第0條樣式中的寬 document.styleSheets[0].cssRules[0].selectorText; //第0條樣式選擇器設(shè)置樣式 直接設(shè)置元素的屬性
某些元素對象如img可以直接設(shè)置css樣式
obj.width="100%";setAttribute()/removeAttribute()設(shè)置元素的style屬性
obj.setAttribute("style","widht:100px!important"); obj.removeAttribute("style"); obj.setAttribute("width","100%"); //某些元素適用(即“直接設(shè)置元素的屬性”的情況)style對象的屬性和方法
根據(jù)屬性設(shè)置單一樣式
obj.style.height = "100px"; obj.style.borderBottom="2px"; obj.cssFloat="left";
注意:
需要用屬性名cssFloat代替float(float是JavaScript保留關(guān)鍵字)
帶上單位(如果需要)
帶有連字符-的CSS屬性在JavaScript中,應(yīng)該轉(zhuǎn)換成駝峰形式或?qū)傩悦◣б枺懺谥欣ㄌ朳]中
cssText設(shè)置樣式字符串可設(shè)置多個(gè)樣式
obj.style.cssText="color:gray;font-size:1.25rem;"setProperty()/removeProperty
obj.style.setProperty("height", "300px", "important"); obj.style.removeProperty("color");操作class/id改變樣式
給元素對象增/改/刪className或者idName。相應(yīng)的class/id設(shè)置有相關(guān)樣式。
元素對象的setAttribute()/removeAttribute()設(shè)置class/idobj.setAttribute("class",newClassName); obj.removeAttribute("class",newClassName) ;設(shè)置元素對象的className/id屬性
obj.className=newClassName; obj.id=newIdName;
? 注意:元素對象沒有class(class是JavaScript保留關(guān)鍵字)這個(gè)屬性,只有className這個(gè)屬性。
屬性對象attributes的set/removeNamedItem()設(shè)置屬性名let attrName=document.createAttribute("class"); let attrName.nodeValue=className;//一個(gè)已經(jīng)存在的class obj.attributes.setNamedItem(attrName); obj.attributes.removeNamedItem(attrName);操作link標(biāo)簽/節(jié)點(diǎn)
link節(jié)點(diǎn)增/刪/改
示例(添加樣式表):
let linkNew=document.creatElement("link"); linkNew=setAttribute("rel","stylesheet"); linkNew=setAttribute("hreft","new.css"); document.head.appendChild(link);
innerHTML
更改link的href
……
innerHTML或textContent 寫入/清空style標(biāo)簽
style節(jié)點(diǎn)增/刪/改(參照上文操作link標(biāo)簽/節(jié)點(diǎn)之link節(jié)點(diǎn)增/刪/改示例)……
CSS StyleSheets對象的屬性和方法StyleSheets是一個(gè)類數(shù)組對象,包含了當(dāng)前文檔的所有css樣式表。
disable 屬性:打開或關(guān)閉一張樣式表。
document.styleSheets[0].disabled;
delteRule()/insertRule()
ie使用addRule()和removeRule()。
document.styleSheets[0].deleteRule(0); document.styleSheets[0].insertRule(".test{color:red;font-size:1.5em;}");innerHTML(textContent)
innerHTML寫入樣式表
document.getElementByTagName("head")[0].innerHTML+=
innerHTML或textContent增/刪style標(biāo)簽 更改style標(biāo)簽的內(nèi)容
參照上面
innerHTML(新建元素節(jié)點(diǎn))中寫入行內(nèi)樣式/id/class
示例:obj.innerHTML=red
……
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90352.html
摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...
摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個(gè)最重要的技術(shù)點(diǎn)常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實(shí)現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個(gè)最重要的技術(shù)點(diǎn) 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...
摘要:前言月份開始出沒社區(qū),現(xiàn)在差不多月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議那么今天我就把看過的一些學(xué)習(xí)資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區(qū),現(xiàn)在差不多9月了,按照工作的說法,就是差不多過了三個(gè)月的試用期,準(zhǔn)備轉(zhuǎn)正了!一般來說,差不多到了轉(zhuǎn)正的時(shí)候,會進(jìn)行總結(jié)或者分享會議!那么今天我就...
閱讀 1457·2019-08-29 17:14
閱讀 1656·2019-08-29 12:12
閱讀 738·2019-08-29 11:33
閱讀 3273·2019-08-28 18:27
閱讀 1449·2019-08-26 10:19
閱讀 912·2019-08-23 18:18
閱讀 3534·2019-08-23 16:15
閱讀 2548·2019-08-23 14:14