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

js在獲取css屬性時如果標(biāo)簽中無style則無法直接獲取css中的屬性,所以需要一個方法可以做到這點(diǎn)。
getStyle(obj,attr) 調(diào)用方法說明:obj為對像,attr為屬性名必須兼容js中的寫法(可以參考:JS可以控制樣式的名稱寫法)。
Js代碼
function getStyle(obj,attr){
var ie = !+"\v1";//簡單判斷ie6~8
if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition寫法,識別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í)例測試代碼:
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";//簡單判斷ie6~8
if(attr=="backgroundPosition"){//IE6~8不兼容backgroundPosition寫法,識別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給元素添加多個class的簡單實(shí)現(xiàn)
- js通過元素class名字獲取元素集合的具體實(shí)現(xiàn)
- js選取多個或單個元素的實(shí)現(xiàn)代碼(用class)
- 基于原生js實(shí)現(xiàn)判斷元素是否有指定class名
- js 獲取class的元素的方法 以及創(chuàng)建方法getElementsByClassName
- javascript通過class來獲取元素實(shí)現(xiàn)代碼
- js如何根據(jù)class獲取元素并且點(diǎn)擊元素詳解
相關(guān)文章
javascript文件加載管理簡單實(shí)現(xiàn)方法
這篇文章主要介紹了javascript文件加載管理簡單實(shí)現(xiàn)方法,可實(shí)現(xiàn)順序加載所有js文件的功能,非常簡單實(shí)用,需要的朋友可以參考下2015-07-07JS實(shí)現(xiàn)數(shù)組去重的11種方法總結(jié)
去重是開發(fā)中經(jīng)常會碰到的一個熱點(diǎn)問題,這篇文章主要介紹了JS中實(shí)現(xiàn)數(shù)組去重的11個方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-04-04JavaScript實(shí)現(xiàn)商品評價五星好評
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)商品評價五星好評,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動態(tài)添加到文檔中詳解
這篇文章主要給大家介紹了關(guān)于如何將HTML字符轉(zhuǎn)換為DOM節(jié)點(diǎn)并動態(tài)添加到文檔中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧2018-08-08JavaScript利用canvas實(shí)現(xiàn)星空效果
Canvas對于我們前端來說是一個非常強(qiáng)大的工具,它可以實(shí)現(xiàn)各種復(fù)雜的圖形和動畫效果,我們?nèi)绻軌蚴炀氄莆账?我們就可以做很多炫酷的效果,本文就給大家介紹了用canvas畫出一片星空的方法,需要的朋友可以參考下2023-11-11JS實(shí)現(xiàn)動態(tài)增加和刪除li標(biāo)簽行的實(shí)例代碼
下面小編就為大家?guī)硪黄狫S實(shí)現(xiàn)動態(tài)增加和刪除li標(biāo)簽行的實(shí)例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10