当前位置: 代码迷 >> JavaScript >> jQuery的追加元素,然后改变CSS?
  详细解决方案

jQuery的追加元素,然后改变CSS?

热度:92   发布时间:2023-06-12 13:42:20.0

我正在尝试创建一个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。

您将需要.style.left$("#box").css('left'); 在这种情况下。

但是...有一种更简单的方法,例如:

$("#box").css("left","-=1");

您可以通过这种方式使其相对,与+=相同,请保持简单:)

这里有两个建议:

(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(...)
  相关解决方案