js获取对象中没有的属性怎么办

js获取对象中没有的属性怎么办,第1张

js获取对象中没有的属性解决办法,Js获取元素样式值(getComputedStyle&currentStyle)兼容性解决方案tyle(documentgetElementById(id)styleXXX)只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的 一般js获取内部样式和外部样式使用

您好,使用原生js获取

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

返回的是一个CSS样式声明对象 , 只读, 此方法支持Firefox浏览器;

语法:var style=windowgetComputedStyle(“元素”,“伪类”);第一个参数是必须的,第二个为可选的。

二、currentStyle 是一款可以兼容IE浏览器的属性返回的是当前所有最终使用的CSS属性值,

利用elementCurrentStyleattribute可获取

其与getComputedStyle区别:1、 currentStyle不支持伪类样式获取;

2、currentStyle不支持现代浏览器,支持IE

原生JS中如何获取CSS属性中的值

可以直接用name这个属性取到的name的值。下面是个小例子。仅供参考:

<body>

    <div id="div" name="div" style="width:100px; height:100px; background:#ccc;"></div>

</body>

<script>

    var oDiv = documentgetElmentById('div');

    oDivonclick=function(){

        alert(oDivname);   //这个时候填出 div 

    };

</script>

第一步:首选需要获取element元素,有很多种方法getElementById("")(只能获取单一dom元素)想要获取元素集合请使用getElementsByName("")

第二步:设置属性-elementsetAttribute("属性名称","属性值");获取属性-elementgetAttribute("属性名称");

用js如何获取div中css的

margin、padding、height、border等。你可能说可以直接用documentgetElementById("id")stylemargin获取。但是你说的只能获取直接在标签中写的style的属性,无法获取标签style外的属性(如css文件中的属性)。而下面方法则两者值都可以获取。

实例效果图如下:

js在获取css属性时如果标签中无style则无法直接获取css中的属性,所以需要一个方法可以做到这点。

getStyle(obj,attr)

调用方法说明: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

objcurrentStylebackgroundPositionX

+"

"+objcurrentStylebackgroundPositionY;

}

}

if(objcurrentStyle){

return

objcurrentStyle[attr];

}

else{

return

documentdefaultViewgetComputedStyle(obj,null)[attr];

}

}

以上就是关于js获取对象中没有的属性怎么办全部的内容,包括:js获取对象中没有的属性怎么办、原生JS中如何获取CSS属性中的值、javascript怎么获得元素的name属性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9497320.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存