0

我试图通过javascript设置div的高度和宽度,但无济于事。我已经尝试了很多事情并且到目前为止没有运气,请告诉我我哪里出错了?我以为这将是直截了当的...

我不确定这里的问题是什么,在这种情况下我不能使用 CSS 来设置我需要在 JavaScript 中执行的变量,但这是另一个主题。

<div id="demo">Demo Div</div>

<script>
    var test = document.getElementById("demo");
    test.style.width = "100px";
    test.style.height = "100px";
    test.style.cssText = 'border:1px solid black;'
</script>

提前谢谢你。(我也愿意接受 jQuery 替代方案)

-Epik-

4

2 回答 2

6

问题是你的最后一行是 setting cssText,它覆盖了前两行设置的样式,而不是添加到它们。试试这个:

var test = document.getElementById("demo");
test.style.width = "100px";
test.style.height = "100px";
test.style.border = '1px solid black'

演示:http: //jsfiddle.net/ZtyfB/

既然你提到了 jQuery,这里有一种方法可以用来做同样的事情:

$("#demo").css({
    width : "100px",
    height : "100px",
    border : '1px solid black'
});
于 2012-11-06T01:09:39.533 回答
0

正在覆盖您设置的cssText高度和宽度,以及您拥有的任何其他样式。

jQuery,感谢nnnnnn

$("#demo").css({
    width : "100px",
    height : "100px",
    border : '1px solid black'
});

我建议像cssText这样丢弃border

var test = document.getElementById("demo");
test.style.border = '1px solid black';
test.style.width = "100px";
test.style.height = "100px";

但是如果你真的需要cssText,那么先使用它:

var test = document.getElementById("demo");
test.style.cssText = 'border:1px solid black;';
test.style.width = "100px";
test.style.height = "100px";

最后一个可行的解决方案是使用cssText

var test = document.getElementById("demo");
test.style.cssText = 'border:1px solid black; width: 100px; height: 100px';
于 2012-11-06T01:13:40.293 回答