Javascript 更改div';用JS中的值替换宽度
如何将Javascript 更改div';用JS中的值替换宽度,javascript,html,width,Javascript,Html,Width,如何将div的宽度更改为某个值,如下所示: someDiv.style.width += "100px"; 当我想设置一个值(即width=“100px”)时,它工作,但问题在于+=运算符。 <div id="test" style="height:100px"></div> var elem=document.getElementById("test"); height=parseInt(elem.style.height); height+=100; height
div
的宽度更改为某个值,如下所示:
someDiv.style.width += "100px";
当我想设置一个值(即width=“100px”
)时,它工作,但问题在于+=
运算符。
<div id="test" style="height:100px"></div>
var elem=document.getElementById("test");
height=parseInt(elem.style.height);
height+=100;
height+="px"
console.log(height);
var elem=document.getElementById(“测试”);
高度=parseInt(元素样式高度);
高度+=100;
高度+=“px”
控制台。原木(高度);
试试下面的方法
这是因为Javascript无法理解“100px”+“100px”是什么意思,因为它们是字符串值 我将使用jQuery这样做:
$(someDiv).width($(someDiv).width() + 100);
您还可以使用这个这将适用于普通的javascript解决方案(因为您没有提到jquery):
parseInt(elem.style.height)
返回NaN
oh?我尝试了JSFIDLE,得到了200px的答案。你有什么线索吗,为什么在你的例子中它会这样计算?可能是因为他没有一个css设置值,我在body的onload中调用我的函数,没有在任何地方显式设置div的width-这可能是问题吗?可能吧。也许你可以试试我提供的例子;)
var currentwidth= $('#div').width();
$('#div').width(currentwidth +100);
var someDiv = document.getElementById("someDiv");
var w = 0;
if (typeof someDiv.clip !== "undefined") {
w = someDiv.clip.width;
} else {
if (someDiv.style.pixelWidth) {
w = someDiv.style.pixelWidth;
} else {
w = someDiv.offsetWidth;
}
}
someDiv.style.width = (w + 100) + "px";