2008-11-16 7 views
0

Там в HTML:Добавление элемента к узлу

<div class="test"> 
<ul> 
    <li>Item 1</li> 
    <li>Item 2</li> 
</ul> 
</div> 

И немного JS:

$(document).ready(function() { 
    // do stuff when DOM is ready 
    $(".test ul").append('<li>Foo</li>'); 
}); 

Почему это добавить нечего, но если удалить HTML из аргумента строки Append, в

.append('Foo') 

это работает - но это не главное - новый текст добавляется как анонимный блок, а не элемент li, как я хотел.

Ану предложения?

Редактировать: Argh, Я нашел проблему. Я изменил файл, сохраненный из опции «Сохранить страницу» в Firefox, расширение было .xhtml - и вот в чем проблема. Я переименовал его, и он отлично работает.

Спасибо :)

ответ

0

Я проверил ваш код, и он отлично работает на моей машине ... Поэтому я думаю, что это не ошибка jQuery.

1

добавляя фактический HTML из JavaScript довольно некрасиво, вы пытались что-то вроде этого:

var li=document.createElement("li"); 
li.appendChild(document.createTextNode("Dupa")); 
$(".text ul").appendChild(li); 

?

+0

JQuery делает это за кулисами – redsquare 2008-11-16 15:56:35

0

Расширение Frans-Уиллемс код:

jQuery(function($){ 
    /* This is exactly the same as that document ready thing */ 
    var li=document.createElement("li"); 
    $(li).text("Dupa"); 
    $(".text ul").append(li); 
});