JavaScript中如何獲取屬性&封裝函數(shù)

第一種方法

1.var demo = document.getElementById("demo");//對象的id名

console.log(demo.style.left);

第二種方法

logStyle("demo", "left");

function logStyle(id, attr) {

var demo = document.getElementById(id);

console.log(demo.style[attr]);//使用[attr]是因為該函數(shù)可以獲取多個屬性.

}

第二種方法中的封裝 獲取計算后樣式屬性值的兼容函數(shù)

//封裝函數(shù)是為了兼容不同的瀏覽器版本

1.

function getStyle(obj, attr) {

if (window.getComputedStyle) {

return window.getComputedStyle(obj, null)[attr];

} else {

return obj.currentStyle[attr];

}

}

2.

function getStyle(obj, attr) {

return obj.currentStyle ? obj.currentStyle[attr] : window.getComputedStyle(obj, null)[attr];

}

獲取計算后樣式的方法 (不僅是行內(nèi)元素的樣式的方法)

以id名為demo,屬性left為例

window.getComputetedStyle(demo,null).left // 火狐,谷歌,ie9,以上都支持

demo.currentStyle.left? ie6.7.8及新版瀏覽器都支持

難點:attr的存在即書寫方式[attr]

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容