網(wǎng)頁制作Webjx文章簡介:如何實現(xiàn)javascript精確獲取元素css屬性值?當(dāng)處理 DOM 元素的 CSS 屬性時,我們經(jīng)常會遇到一個問題:明明頁面上已經(jīng)定義了 CSS 屬性值,但在獲取的時候卻為空,這是因為任何樣式表文件或內(nèi)聯(lián) CSS 預(yù)設(shè)的樣式信息并不能可靠地反映到 style 屬性上,本文向你介紹準(zhǔn)確獲取
如何實現(xiàn)javascript精確獲取元素css屬性值?當(dāng)處理 DOM 元素的 CSS 屬性時,我們經(jīng)常會遇到一個問題:明明頁面上已經(jīng)定義了 CSS 屬性值,但在獲取的時候卻為空,這是因為任何樣式表文件或內(nèi)聯(lián) CSS 預(yù)設(shè)的樣式信息并不能可靠地反映到 style 屬性上,本文向你介紹準(zhǔn)確獲取指定元素 CSS 屬性值的方法。
Javascript:
<script type="text/javascript">
function getStyle( elem, name )
{
//如果該屬性存在于style[]中,則它最近被設(shè)置過(且就是當(dāng)前的)
if (elem.style[name])
{
return elem.style[name];
}
//否則,嘗試IE的方式
else if (elem.currentStyle)
{
return elem.currentStyle[name];
}
//或者W3C的方法,如果存在的話
else if (document.defaultView && document.defaultView.getComputedStyle)
{
//它使用傳統(tǒng)的"text-Align"風(fēng)格的規(guī)則書寫方式,而不是"textAlign"
name = name.replace(/([A-Z])/g,"-$1");
name = name.toLowerCase();
//獲取style對象并取得屬性的值(如果存在的話)
var s = document.defaultView.getComputedStyle(elem,"");
return s && s.getPropertyValue(name);
//否則,就是在使用其它的瀏覽器
}
else
{
return null;
}
}
</script>
新聞熱點
疑難解答