js獲取某元素的class里面的css屬性值代碼
用js如何獲取div中css的 margin、padding、height、border等。你可能說(shuō)可以直接用document.getElementById("id").style.margin獲取。但是你說(shuō)的只能獲取直接在標(biāo)簽中寫(xiě)的style的屬性,無(wú)法獲取標(biāo)簽style外的屬性(如css文件中的屬性)。而下面方法則兩者值都可以獲取。
實(shí)例效果圖如下:

js在獲取css屬性時(shí)如果標(biāo)簽中無(wú)style則無(wú)法直接獲取css中的屬性,所以需要一個(gè)方法可以做到這點(diǎn)。
getStyle(obj,attr) 調(diào)用方法說(shuō)明:obj為對(duì)像,attr為屬性名必須兼容js中的寫(xiě)法(可以參考:JS可以控制樣式的名稱(chēng)寫(xiě)法)。
Js代碼
function getStyle(obj,attr){
var ie = !+"\v1";//簡(jiǎn)單判斷ie6~8
if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition寫(xiě)法,識(shí)別backgroundPositionX/Y
if(ie){
return obj.currentStyle.backgroundPositionX +" "+obj.currentStyle.backgroundPositionY;
}
}
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return document.defaultView.getComputedStyle(obj,null)[attr];
}
}
完整實(shí)例測(cè)試代碼:
Html代碼
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js獲取某元素的class里面的css屬性值</title>
<style>
#box1{margin:5px;padding:5px;height:100px;width:200px;}
a{border:1px solid #ccc;border-radius:3px;padding:3px 5px;margin:5px 0;display:inline-block;background:#eee;color:#f60;text-decoration:none;font-size:12px;}
a:hover{color:#ff0000;background:#fff;}
</style>
</head>
<body>
<div id="box1">box1的css.#box1{margin:5px;padding:5px;height:100px;width:200px;}</div>
<a href="javascript:;" onclick="getcss('marginTop')">獲取box1的margin-top</a><br />
<a href="javascript:;" onclick="getcss('paddingTop')">獲取box1的padding-top</a><br />
<a href="javascript:;" onclick="getcss('height')">獲取box1的height</a><br />
<script>
//獲取class里面的屬性值
var divs=document.getElementById("box1");
function getStyle(obj,attr){
var ie = !+"\v1";//簡(jiǎn)單判斷ie6~8
if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition寫(xiě)法,識(shí)別backgroundPositionX/Y
if(ie){
return obj.currentStyle.backgroundPositionX +" "+obj.currentStyle.backgroundPositionY;
}
}
if(obj.currentStyle){
return obj.currentStyle[attr];
}
else{
return document.defaultView.getComputedStyle(obj,null)[attr];
}
}
function getcss(typ){
alert(getStyle(divs,typ));
}
</script>
</body>
</html>
- js中設(shè)置元素class的三種方法小結(jié)
- js獲取class的所有元素
- javaScript給元素添加多個(gè)class的簡(jiǎn)單實(shí)現(xiàn)
- js通過(guò)元素class名字獲取元素集合的具體實(shí)現(xiàn)
- js選取多個(gè)或單個(gè)元素的實(shí)現(xiàn)代碼(用class)
- 基于原生js實(shí)現(xiàn)判斷元素是否有指定class名
- js 獲取class的元素的方法 以及創(chuàng)建方法getElementsByClassName
- javascript通過(guò)class來(lái)獲取元素實(shí)現(xiàn)代碼
- js如何根據(jù)class獲取元素并且點(diǎn)擊元素詳解
相關(guān)文章
axios實(shí)現(xiàn)取消請(qǐng)求的方法詳解
axios 是現(xiàn)在前端項(xiàng)目中最常使用的一個(gè)請(qǐng)求庫(kù),目前 Github star 已經(jīng)達(dá)到了 104k star,本文我們討論的問(wèn)題是axios 是如何實(shí)現(xiàn)取消請(qǐng)求(Cancel requests)的,文中有詳細(xì)的實(shí)現(xiàn)方法,感興趣的朋友可以參考下2024-04-04javascript文件加載管理簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了javascript文件加載管理簡(jiǎn)單實(shí)現(xiàn)方法,可實(shí)現(xiàn)順序加載所有js文件的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-07-07JS實(shí)現(xiàn)數(shù)組去重的11種方法總結(jié)
去重是開(kāi)發(fā)中經(jīng)常會(huì)碰到的一個(gè)熱點(diǎn)問(wèn)題,這篇文章主要介紹了JS中實(shí)現(xiàn)數(shù)組去重的11個(gè)方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-04-04JavaScript實(shí)現(xiàn)商品評(píng)價(jià)五星好評(píng)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)商品評(píng)價(jià)五星好評(píng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動(dòng)態(tài)添加到文檔中詳解
這篇文章主要給大家介紹了關(guān)于如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動(dòng)態(tài)添加到文檔中的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧2018-08-08JavaScript利用canvas實(shí)現(xiàn)星空效果
Canvas對(duì)于我們前端來(lái)說(shuō)是一個(gè)非常強(qiáng)大的工具,它可以實(shí)現(xiàn)各種復(fù)雜的圖形和動(dòng)畫(huà)效果,我們?nèi)绻軌蚴炀氄莆账?我們就可以做很多炫酷的效果,本文就給大家介紹了用canvas畫(huà)出一片星空的方法,需要的朋友可以參考下2023-11-11JS實(shí)現(xiàn)動(dòng)態(tài)增加和刪除li標(biāo)簽行的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇JS實(shí)現(xiàn)動(dòng)態(tài)增加和刪除li標(biāo)簽行的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10