成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

常用JavaScript操作CSS方法總結(jié)

enali / 1430人閱讀

摘要:返回值一個(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/id
obj.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
……

操作style標(biāo)簽/節(jié)點(diǎn)

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

相關(guān)文章

  • 前端文檔收集

    摘要:系列種優(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 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優(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 ...

    muddyway 評論0 收藏0
  • 個(gè)人分享--web前端學(xué)習(xí)資源分享

    摘要:前言月份開始出沒社區(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é)或者分享會議!那么今天我就...

    sherlock221 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<