js获取元素样式ele.style.attribute只能获取内敛样式的属性值!内部样式的属性值获取不了!怎么解决?
发布网友
发布时间:2022-04-23 21:11
我来回答
共2个回答
热心网友
时间:2022-04-23 22:40
HTMLElement.prototype.__defineGetter__("currentStyle", function () {
return this.ownerDocument.defaultView.getComputedStyle(this, null);
});
获取样式的时候吧style改为currentStyle
比如element.style.width改为element.currentStyle.width
追问能否将你的代码解释一下?第一行代码看不懂。我只知道是定义HTMLElement类的一个不知道方法还是属性,然后就可以直接调用此方法了。个人觉得这个方法很强大,是接近底层的操作,就如同授人以鱼不如授人以渔中的渔,吸收了这个,以后就可以直接在不加载任何东西的情况下使用了,虽然效果不是最佳,但非常值得学习,大神,麻烦详尽解释下
追答其实这个方法很简答,只是是写原型上的。
具体的实现还是下面的
return this.ownerDocument.defaultView.getComputedStyle(this, null);
如果不懂的话,百度js原型
HTMLElement指的是html对象
prototype对象类型原型的引用
__defineGetter__定义一个获取的方法
热心网友
时间:2022-04-23 23:58
给你一段代码:
<html>
<head>
<title>JQuery中如何获取样式属性的值</title>
<script type="text/javascript" src="jquery.js"></script>
<style>
.top {
background: url(Tupian.jpg) no-repeat;
width: 75px;
height: 90px;
}
</style>
<script type="text/javascript">
$(function () {
var url = $("div.top").css("background-image");
alert(url);
})
</script>
</head>
<body>
<div class="top"></div>
</body>
</html>追问是使用纯粹的javascript,不加载jquery库。如何做到?