2012-08-07 76 views
3

我有一個jQuery變量:追加克隆輸入變量

var $items = "<input type='text' />"; 

,我有一個克隆的元素:

var cloneA = $("#element").clone(); 

我無法找到一個方法來追加cloneA至$項目。

什麼是解決方案?

感謝

+4

首先,你有一個JavaScript變量,而不是一個jQuery之一。 (後者沒有這樣的東西)。其次,我不明白你想達到什麼目的。您不能將一個DOM元素附加到一個字符串。即使你的字符串是一個元素(一個「輸入」),它們也是自閉的元素,你不能追加孩子。請編輯該問題以闡明您的意圖。 – Utkanos 2012-08-07 11:40:16

+0

正如@Utkanos所說,你不能將元素附加到''元素。你是否意味着你想將輸入追加到'#元素'的克隆? – 2012-08-07 11:44:08

+1

嗨,夥計們,我只是一個新手。而我仍然在jQuery中探索事物。謝謝你的耐心。 – comebal 2012-08-07 11:45:16

回答

2

的問題是,你沒有使用$items作爲一個jQuery對象。你需要它是一個jQuery對象才能使用它的.append()函數。

在jQuery變量中包含HTML字符串$將創建一個包含該HTML內部的對象。

試試這個 -

var $items = $("<input type='text' />"); 
var cloneA = $("#element").clone(); 
$items.append(cloneA); 

我認爲,這僅僅是僞代碼,因爲你不會經常要被追加要素<input>元素。而是加入<input>域到一個現有的元素...

東西稍多的邏輯是這樣的 -

var $items = $("<div id="input_holder"></div>"); 

// #element in this example is an actual <input> 
var cloneA = $("#element").clone(); element. 

$items.append(cloneA); 
1

$items不是一個jQuery選擇它只是一個字符串。要使它成爲一個有效的jQuery對象,你可以在更新使用append()代碼:

var $items = $("<input type='text' />"); 

那麼你應該能夠追加克隆:

var cloneA = $("#element").clone(); 

$items.append(cloneA); 
+0

感謝您的答案。 – comebal 2012-08-14 05:14:12

-1

我相信你是想添加克隆元素到選擇?

var $items = $('<input type="text"/>'); 
var cloneA = $('#element').clone(); 
$items = $items.add(cloneA); //items now has the input and #element 
+0

這不會將一個元素的內容添加到另一個元素。它會創建一個包含兩個相互獨立的元素的數組 – Lix 2012-08-07 11:58:08

+0

我沒有說過。我說過它會添加克隆的元素TO THE SELECTION,這是我相信comebal想要做的2個原因:1)他/她調用變量$ items 2)不能將項添加到輸入元素。 ..至少不是以有效的方式。 – 2012-08-07 14:31:59

+0

我不相信你的假設是正確的。 [我要求一些澄清](http://stackoverflow.com/questions/11845128/append-cloned-input-to-variable#comment15757230_11845128)從OP,所以希望我們很快就會發現。 – Lix 2012-08-07 14:45:51