189 8069 5689

js判断css样式,CSS样式的类型

解析js如何获取css样式

一、获取内联样式

成都创新互联公司是一家专注于网站设计制作、网站制作与策划设计,邢台网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:邢台等地区。邢台做网站价格咨询:13518219792

div

id

="myDiv"

style="width:100px;height:100px;background-color:red;

border:1px

solid

black;"/div

script

var

myDiv

=

document.getElementById("myDiv");

alert(myDiv.style.width);//100px

alert(myDiv.style['height']);//100px

var

style=myDiv.style;

alert(style.backgroundColor);//red

myDiv.style.backgroundColor='green';//myDiv背景色变为绿色

/script

在这种情况下,获取和设置样式只靠style属性就可以,因为element.style属性返回的是类似数组的一组样式属性及对应值,因此访问具体样式的时候可以采取两种方式即“ele.style.属性名称”和“ele.style['属性名称']”。但是,要注意的是,针对css样式里background-color;margin-left之类的短杠相接的属性名称,在使用style属性获取设置样式的时候名称要改为驼峰式,如ele.style.backgroundColor.

二、因为第一种方法,即使用style属性只能获取到内联样式。但是,实际情况是文档在现在都基本遵循分离思想,样式基本都是外部链接,所以三种样式都要考虑到的,这时就要使用其他方法进行获取,而在这种情况下进行样式获取时,不同的浏览器又有不同的处理方式(主要是ie和非ie),因此根据浏览器可以分为两种方式:

(2.1)非ie浏览器中,使用document.defaultView对象的getComputedStyle(ele,null/伪类)方法,该方法接受两个参数,第一个为要考察的元素,第二个则要根据情况,如果只是考察元素本身则为null,如果要

考察伪类,则为响应的伪类。该方法获取到的为元素应用的最终样式组合,同样是类似数组的一个实例。

(2.2)在ie浏览器中,对getComputedStyle()方法不支持,但是针对每个标签元素都有一个近似于style属性的currentStyle的属性,且用法和style用法相同。只不过获取到的样式范围不一样。currenStyle获取到的和getComputedStyle()方法相接近。

为了在处理时达到兼容,可以根据这两种不同的处理方式创建一个函数来达到兼容目的,使得不管在那种浏览器中,都可以成功获取样式。如下所示:

style

type="text/css"

#myDiv

{

background-color:blue;

width:100px;

height:200px;

}

/style

div

id

="myDiv"

style="background-color:red;

border:1px

solid

black;"/div

script

var

myDiv

=

document.getElementById("myDiv");

var

finalStyle

=

myDiv.currentStyle

?

myDiv.currentStyle

:

document.defaultView.getComputedStyle(myDiv,

null);/*利用判断是否支持currentStyle(是否为ie)

来通过不同方法获取style*/

alert(finalStyle.backgroundColor);

//"red"

alert(finalStyle.width);

//"100px"

alert(finalStyle.height);

//"200px"

/script

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

js判断一个固定域名下css样式正常,不是这个域名下css样式错误

var url = window.location.href;

if(/baidu/.test(url)){

var nav = document.querySelector('.nav');

nav.style.display = 'none';

}

如何用JS来判断现在使用中的CSS

给select加个id号,然后js获取到它的selectedIndex这样就可以知道当前用的是哪个css如下:

select id=sel onchange="document.styleSheets[0].href = this.options[this.selectedIndex].value + '.css'"

……

script

var sels=sel.selectedIndex; //这句得到了option的编号,通过这个编号你就该知道当前是哪个css

/script

js怎么获取css设置的样式

用document.getElementById(‘element’).style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了。

DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:getComputedStyle(obj,null).paddingLeft,就能获取到对象的左内边距。但是IE不支持此方法,它有自己的一个实现方式,那就是currentStyle,不同于全局方法getComputedStyle,它是作为DOM元素属性存在的,如:obj.currentStyle.paddingLeft,在IE中就获取到对象的左内边距了,兼容性的写法如下:

return window.getComputedStyle ? window.getComputedStyle(obj,null).paddingLeft : obj.currentStyle.paddingLeft;

js 检查元素是否含有某种css样式

可以通过jquery来实现,

首先,用hasClass方法判断它是否有这种样式,

接着,如果有,执行冒号前面的语句,

如果没有,执行冒号后面的语句。

具体是以下代码:

$("#id").hasClass("className") ? console.log("Has this class.") : console.log("Do not has this class.");


本文名称:js判断css样式,CSS样式的类型
URL网址:http://cdxtjz.com/article/hodeei.html

其他资讯