传递函数中要更改的样式(高度||宽度)?
问题描述:
如果我从一个功能通过纯字符串(即高度或宽度)A
到B
改变元素的风格 -传递函数中要更改的样式(高度||宽度)?
<html>
<script type="text/javascript" >
function B(temp , attributeToChange , val){
temp.style.attributeToChange = val + "px"
}
function A(){
var to = 200;
B(this , "width" ,400)
B(this, "height" , to)
}
</script>
<style type="text/css">
.in{
width: 100px;
height: 30px;
}
</style>
<input class="in" type="button" value="Click Me" onclick="A.call(this)">
</html>
这是不可能的,因为我不能够使用attributeToChange
作为一个字符串得到的参数在B()
。有没有办法做到这一点(从一个字符串设置一个elem的属性)还是解决方法 - 使用switch (attributeToChange)
?
答
尝试
temp.style[attributeToChange] = val + "px"
在JavaScript中,a["x"]
和a.x
mean the same thing。
“这首歌的名字叫做 '鳕鱼的眼睛'。”
“哦,那是这首歌的名字,是吗?”爱丽丝说,试图感到兴趣。
“不,你不明白,”骑士说,看起来有点烦恼。 “这就是这个名字的名字,这个名字真的是'老年人'。”
“那我应该说‘这就是这首歌叫?’”爱丽丝纠正自己。
“不,你不该:那是另一回事歌曲的名字叫‘方法和手段’:!但这只是它叫什么,你知道。”
“那么,那首歌是什么呢?”爱丽丝说,此时此刻他完全被困惑了。 “我正在为此而战,”奈特说。 “这首歌真的是'坐在大门上',而曲子是我自己的发明。”
在JavaScript中,我们有someObject
,它有一个名为width
一个属性,这个属性的名称叫做attributeName
。然后,
someObject.width == someObject["width"] == someObject[attributeName]
temp.style.width = value +'px'。它有什么问题? – Jashwant 2012-01-30 11:54:31