簡體   English   中英

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

[英]Jquery append element and then alter css?

我正在嘗試創建一個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(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM