Javascript 为什么这在JS中不起作用??getElementById().style.width+;=40+&引用;“px”;;
我正在尝试编写一个速记方法getElementById().style.width+=40+“px”;用于通过JavasScript更改DOM中的元素宽度,但它不起作用。Javascript 为什么这在JS中不起作用??getElementById().style.width+;=40+&引用;“px”;;,javascript,html,css,dom,Javascript,Html,Css,Dom,我正在尝试编写一个速记方法getElementById().style.width+=40+“px”;用于通过JavasScript更改DOM中的元素宽度,但它不起作用。 如果document.getElementById(id).style.width返回“10px” 然后document.getElementById(id).style.width+=40+“px”将 “10px40px”无法进行速记赋值。但您应该尝试以下方法: document.getElementById("div1")
如果
document.getElementById(id).style.width
返回“10px”
然后
document.getElementById(id).style.width+=40+“px”
将
“10px40px”
无法进行速记赋值。但您应该尝试以下方法:
document.getElementById("div1").style.width = (parseInt(document.getElementById("div1").style.width) + 40) + "px";
注意:用适当的id替换[id]
完整示例代码:
<html>
<head>
<title></title>
<script type="text/javascript">
function incrementWidth() {
document.getElementById("div1").style.width = (parseInt(document.getElementById("div1").style.width) + 40) + "px";
}
</script>
</head>
<body>
<div id="div1" style="height:100px;width:40px;background-color:orange;"></div>
<button onclick="incrementWidth();">INCREMENT</button>
</body>
</html>
函数incrementWidth(){
document.getElementById(“div1”).style.width=(parseInt(document.getElementById(“div1”).style.width)+40)+“px”;
}
增量
简而言之,将+=
更改为=
@daemonoft最不想要的是增加40px,这是由+=
推断出来的。请输入完整的代码,我会检查并让您知道。这不起作用,因为您试图解析“10px”,它不能被解析为整数。事实上,据我所知,如果我们解析字符串,并且字符串有整数,那么parseint将提取整数部分。所以我用过了。啊,你说得对。我的错误;除非第一个字符是string.K buddy,否则它仍将解析它。祝你有美好的一天。