2016-11-23 62 views
0
var lightcount = 0;   
    $("#addlight").click(function(){ 
     var domElement = $('<div id="L' + lightcount +'" class="col-md-3 col-sm-6 text-center"><div class="rumbox"></div><button id="onoff" type="button" class="btn btn-md btn-success"> ON </button></div>'); 
     var lid= $(domElement).attr("id"); 
     console.log(lid); 

     $(lid).after(domElement); 
     lightcount++ 
    }); 

我有一個函數在單擊按鈕時創建一個新的燈箱。 我希望新的燈箱是當前燈箱之後的地方。當我想用它作爲參考時,Id變量不起作用

我有一個div id的變量,每增加一個燈箱就會增加一個。

因此,而不是$("#L3").after(domElement)(實際工作), 我想使用我的變量蓋子:$(lid).after(domElement);但這不起作用。

+0

'$(一個DOMElement)'我不認爲需要$作爲一個DOMElement已經是一個jQuery對象 –

+0

我想你應該附上一個DOMElement變量中的「格」,以實際的DOM。並嘗試調用after()函數。 – shan

+0

那個時候$(lid)也不在dom中,我們需要追加它 –

回答

1

您需要先將其添加到DOM和使用功能後。蓋子將只有你需要預先加上「#」的id值。

var lightcount = 0;   
    $("#addlight").click(function(){ 
     var domElement = $('<div id="L' + lightcount +'" class="col-md-3 col-sm-6 text-center"><div class="rumbox"></div><button id="onoff" type="button" class="btn btn-md btn-success"> ON </button></div>'); 

     //Add it to dom . Change the id 
     $("#test").append(domElement) 

     var lid= $(domElement).attr("id"); 
     console.log(lid); 

     $("#"+lid).after(domElement); 
     lightcount++ 
    }); 
+0

爲什麼要追加它? OP想用@'$(「#」+ lid).after(domElement);' – Rayon

+0

$(domElement).attr(「id」)將返回「L0」而不是「#L0」。要用它作爲ID選擇器,你需要在前面加上''#' – selvassn

+0

這是一個不同的故事,第一個被刪除的回答也提到了相同的...我問的是追加操作..爲什麼我們需要那個? – Rayon

1

你可以嘗試:

$("#" + lid).after(domElement); 
+3

OP剛剛創建了這個元素,他沒有將它插入到dom中。所以選擇器不會返回任何東西。 –

+0

@RajaprabhuAravindasamy - 爲什麼要將它附加到DOM? – Rayon

相關問題