问题描述
我正在尝试创建一个div标签,然后通过CSS对其进行更改,但是由于某种原因,它不起作用,这是我的代码:
$('#draw').click(function(e){
var divToAdd = "<div id='box' style='display:block;background-color:red;width:100px;height:100px'></div>";
$("#area").append(divToAdd);
});
$('#left').click(function(e){
//var leftNow = document.getElementById("box").left + 1;
alert(document.getElementById("box").left);
$("#box").css('left',leftNow);
});
$('#right').click(function(e){
var leftNow = document.getElementById("box").left - 1;
$("#box").css("left","90");
});
因此,由于某些原因,document.getElementById(“ box”)。left的值未定义。 我已经尝试了好一阵子,也许我的语法可能有问题? 任何帮助,将不胜感激,非常感谢! 谢谢Nick Craver。
1楼
您将需要.style.left或$("#box").css('left');
在这种情况下。
但是...有一种更简单的方法,例如:
$("#box").css("left","-=1");
您可以通过这种方式使其相对,与+=相同,请保持简单:)
2楼
这里有两个建议:
(1)使用jQuery对象代替对象本身
var divToAdd = $("<div id='box' style='display:block;background-color:red;width:100px;height:100px'></div>");
实际上,上面的表达式也不太好,使其更像“ jQuery”:
var divToAdd = $('<div></div>').css('background-color','red').css....
(2)如果涉及到jQuery,请继续使用
$('#box').css('left') instead of document.getElemengById(...)