2013-06-24 5 views
2

Я пытаюсь создать элемент ввода радио в jQuery Mobile. Должно быть так:Как обернуть динамически созданные элементы с помощью jQuery wrap()?

<label><input type="radio" name="radio-a" /></label> 

Это то, что я делаю:

radio = $("<input />") 
.attr({ 
    "name": "radio-" + this.uuid + "-" + i, 
    "type": "radio" 
}) 
.wrap("<label></label>") 
.appendTo(someElement); 

Моя проблема заключается в .wrap() не работает = элемент получает создается и добавляется правильно, но <label> элемент отсутствует ,

Вопрос:
Любая идея, что я делаю неправильно?

EDIT:
Добавление id и for атрибут не помогает.

+2

обертка возвращает исходный объект, а не упаковка контейнера –

+0

ах. хорошая точка зрения. – frequent

ответ

2

Добавить parent() между wrap и appendTo:

radio = $("<input />") 
.attr({ 
    "name": "radio-" + this.uuid + "-" + i, 
    "type": "radio" 
}) 
.wrap("<label></label>") 
.parent() 
.appendTo(someElement); 
+0

вот что я сделал. Благодаря! – frequent