2014-09-05 109 views
0

我有一個HTML字符串:添加元素爲第一個孩子

var form = "<form><label >1</label><label >2</label></form>"; 

現在我想頂部使用jQuery來添加表單內的另一個標籤:

var $form = $(form).find('form').prepend('<label >3</label>'); 

console.log('$form is '); 
console.log($form); 

的的jsfiddle是here。但正如你從輸出中看到的那樣,它沒有被添加,因爲沒有找到表單。這怎麼可能?

+0

因爲形式是頂級元素,只需刪除'.find(...)':'$(form).prepend('')' – dc5 2014-09-05 16:32:13

回答

0

從文檔上jQuery.find

獲取每個元素的後代在當前匹配的元素,通過一個選擇器,jQuery對象,或元件過濾。

在這種情況下,<form>是頂層元素。您的查找失敗,因爲沒有帶有表單標籤名稱的後代。

因爲你已經分配給變量form表單元素,你可以更改您的代碼:

$(form).prepend('<label >3</label>') 

這將導致:

<form> 
    <label>3</label> 
    <label>1</label> 
    <label>2</label> 
</form> 

demo fiddle

相關問題