2013-11-29 4 views
-1

У меня есть это, и он отлично работает.Cant заменить li append с li appendTo

$('#discussion').append('<li>' + myname + mymessage + '</li>'); 

, но когда я заменяю это, он не работает, почему?

$('<li>' + myname + mymessage + '</li>').html().appendTo("#discussion"); 

Я могу вставить полный код, если это необходимо.

+0

Почему вы создаете новые элементы и передавая им значения только, чтобы получить HTML назад, кажется, что вы что-то отсутствует, и если вы объясните почему, и что ты» я пытаюсь сделать, может быть, мы можем вам помочь, поскольку это выглядит ужасно. – adeneo

+0

Удалить вызов .html() – deb0rian

ответ

3

Ваш вызов .html() возвращает innerHTML свойство динамического <li> как строка, а не сам элемент.

Попробуйте это:

$('<li>' + myname + mymessage + '</li>').appendTo("#discussion"); 
+0

+1 спасибо .... работаю также. – thenewseattle

3

HTML() возвращает строку, и вы не можете добавить строку в качестве методов JQuery принимают только действительные элементы, обернутые в ($) в качестве контекста:

$('<li />', {html :myname + mymessage}).appendTo("#discussion"); 
+0

+1 спасибо mr burns ... немного сложный синтаксис, но также работает – thenewseattle

Смежные вопросы