急!怎么用js提取出span标签内style里的属性值

急!怎么用js提取出span标签内style里的属性值,第1张

CSS的样式分为三类: 

内嵌样式:是写在Tag里面的,内嵌样式只对所有的Tag有效。 

内部样式:是写在HTML的里面的,内部样式只对所在的网页有效。 

外部样式表:如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以css为后缀的CSS文件里,然后在每个需要用到这 些样式(Styles)的网页里引用这个CSS文件。

getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式对象([object CSSStyleDeclaration]) 

currentStyle是IE浏览器的一个属性,返回的是CSS样式对象

element指JS获取的DOM对象 

elementstyle //只能获取内嵌样式 

elementcurrentStyle //IE浏览器获取非内嵌样式 

windowgetComputedStyle(element,伪类) //非IE浏览器获取非内嵌样式 

documentdefaultViewgetComputedStyle(element,伪类)//非IE浏览器获取非内嵌样式 

注:Gecko 20 (Firefox 4 / Thunderbird 33 / SeaMonkey 21) 之前,第二个参数“伪类”是必需的(如果不是伪类,设置为null),现在可以省略这个参数。

下面的html中包含两种css样式,id为tag的div是内嵌样式,而id为test的div样式为内部样式

<!doctype html>

<html lang="en">

  <head>

    <meta charset="UTF-8">

    <meta name="Generator" content="EditPlus®">

    <meta name="Author" content="Yvette Lau">

    <meta name="Keywords" content="关键字">

    <meta name="Description" content="描述">

    <title>Document</title>

    <style>

      #test{

        width:500px;

        height:300px;

        background-color:#CCC;

        float:left;

      }

    </style>

  </head>

  <body>

    <div id = "test"></div>

    <div id = "tag" style = "width:500px; height:300px;background-color:pink;"></div>

  </body>

</html><script type = "text/javascript">

  windowonload = function(){

    var test = documentgetElementById("test");

    var tag = documentgetElementById("tag");

 

    //CSS样式对象:CSS2Properties{},CSSStyleDeclaration

    consolelog(teststyle); //火狐返回空对象CSS2Properties{},谷歌返回空对象CSSStyleDeclaration{} 

    consolelog(tagstyle); //返回CSS2Properties{width:"500px",height:"300px",background-color:"pink"}

    //elementstyle获取的是内嵌式的style,如果不是内嵌式,则是一个空对象

 

    consolelog(tagstylebackgroundColor);//pink

    consolelog(tagstyle['background-color']);//pink

    //获取类似background-color,border-radius,padding-left类似样式的两种写法啊

 

    consolelog(testcurrentStyle) //火狐和谷歌为Undefined,IE返回CSS对象

    consolelog(windowgetComputedStyle(test,null))//谷歌返回CSSStyleDeclaration{……} ,火狐返回CSS2Properties{……}

    consolelog(windowgetComputedStyle(test))

    //效果同上,但是在Gecko 20 (Firefox 4/Thunderbird 33/SeaMonkey 21) 之前,第二个参数“伪类”是必需的(如果不是伪类,设置为null)

 

    consolelog(testcurrentStylewidth);//500px(IE)

    consolelog(windowgetComputedStyle(test)width); //500px;

    consolelog(windowgetComputedStyle(test)['width']);//500px;

    //documentdefaultViewgetComputedStyle(element,null)[attr]/windowgetComputedStyle(element,null)[attr]   

  }

</script>

getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。

这个定义当中有一个很关键的词,就是最终。

在body当中定义了其子元素的css,然后你在写里边具体代码的时候,又对同样的元素再次写了一个样式;那么getComputedStyle就会取两次定义的终合样式,也就是展示出来的样式;

举例说明:

开始你定义了

body text{

width:60px;

height:12px;

}

后来你又给指定的text定义了css

text{

width:80px;

}

这个时候要对该元素使用css ,那么就会取到

text{

width:80px;

height:12px;

}

返回的对象是[object CSSStyleDeclaration];其实就是一个object,如果想读里边的样式。还如上例子

objectwidth

其它的就没什么可解释了,就是获得元素的css。

CSS中常用的选择器

(一)基本选择器(二)层次选择器(三)动态伪类选择器(四)目标伪类选择器

(五)ui状态伪类选择器(六)结构伪类选择器(七)属性选择器(八)伪元素

(一)基本选择器

1标签选择器:通过标签名获取元素 权重:0001

(此种选择器影响范围大,建议尽量应用在层级选择器中。)

2class选择器:通过 类名获取元素 权重:0010

(通过class类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。)

3id选择器:通过 # id名获取元素 权重:0100

(通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。 )

4 通配符选择器:获取到页面的所有元素

5群组选择器:用逗号隔开基本选择器,表示这些选择器都获取到

(二)层次/关系选择器

(主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。)

1包含选择器:用空格隔开基本选择器,表示后一个选择器是前面的后代

例:p a { color:red; }

2子代选择器:用>隔开基本选择器,表示后一个选择器是前面的子代

例:ul>li { line-style: none; }

3相邻兄弟选择器:E+F:表示获取到E后面的紧跟着的F元素(同级的)

例: a+a { }

4兄弟选择器:E~F:表示获取到E后面所有的同级的F元素

例: li~li { }

(三)动态伪类选择器

1 a:link 锚链接被访问前添加样式

2 a:visited 锚链接被访问后添加样式

3 e:hover 鼠标悬停在元素上添加样式

4 e:active 鼠标点击元素时添加样式

5 :focus 表单元素被聚焦时,添加样式

(四)目标伪类选择器

语法: 目标:target {属性:属性值} 被选中的目标添加样式

目标:target E子元素{属性:属性值} 被选中的目标里的E子元素添加样式

(五)ui状态伪类选择器

1 :enabled 可用的表单元素添加样式

2 :disabled 不可用的表单元素添加样式(disabled )

3 :checked+E 被选中的表单元素添加样式

(六)结构伪类选择器

1 E:first-child 获取到E元素,且要满足为其父元素的第一个孩子。

2 E:last-child 获取到E元素,且要满足为其父元素的最后一个孩子

3 E:nth-child(n) 获取到E元素,且要满足为其父元素的第n个孩子

n的用法:

(1)6n倍数 (2)even偶数/2n odd奇数/2n-1(如可用来选中奇偶行来实现 “隔行换色”)

(3) -n+5 选中1-5

(4)p:nth-child(-n+3):nth-child(n+2) 2-3个

4 E:nth-last-child(n) 获取到E元素,且要满足为其父元素的倒数第n个孩子

5 E:first-of-type 获取到E元素,且要满足为其父元素的第一个该类型的孩子

6 E:last-of-type 获取到E元素,且要满足为其父元素的最后一个该类型的孩子

7 E:nth-of-type(n) 获取到E元素,且要满足为其父元素的第n个该类型的孩子

8 E:nth-last-of-type(n)获取到E元素,且要满足为其父元素的倒数第n个该类型的孩子

9 E:empty 获取到空的E元素(注:连空格都不能有)

(七)属性选择器

1 E[attr] 拥0有attr属性的E元素添加样式 如div[class];

2 E[attr="val"] 拥有attr属性值 为 val的E元素添加样式 如p[class="ab"]

3 E[attr="val"] attr属性值 包含 val的E元素添加样式

如ul[class="c"] 指class类名中包含有c字母的E元素

4 E[attr^="val"] attr属性值以val 开头 的E元素添加样式

5 E[attr$="val"] attr属性值以val 结尾 的E元素添加样式

(八)伪元素

1 E::before给E元素添加第一个子元素 (前面)

2 E::after 给E元素添加最后一个子元素(后面)

3 E::first-letter给E元素第一个字添加样式

4 E::first-line给E元素第一行添加样式

5 E::selection 元素内容被选中时添加样式(火狐需要加前缀-moz-)

以上就是关于急!怎么用js提取出span标签内style里的属性值全部的内容,包括:急!怎么用js提取出span标签内style里的属性值、怎么在页面里定义一个setcomputedstyle、css有哪些选择器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10155145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存