Есть 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('Foo')
это работает - но дело не в этом - новый текст добавляется как анонимный блок, а не как элемент li, как я хотел.
Ану предложения?
редактировать: Ага, я нашел проблему. Я изменил файл, сохраненный с помощью параметра Firefox «Сохранить страницу», расширение было .xhtml - и вот в чем проблема. Я его переименовал, работает нормально.
Спасибо :)

добавление фактического HTML из JavaScript довольно уродливо, пробовали ли вы что-то вроде этого:
var li=document.createElement("li");
li.appendChild(document.createTextNode("Dupa"));
$(".text ul").appendChild(li);
?
Я проверил ваш код, и он отлично работает на моей машине ... Так что я думаю, что это не ошибка jQuery.
Расширение кода Франса-Виллемса:
jQuery(function($){
/* This is exactly the same as that document ready thing */
var li=document.createElement("li");
$(li).text("Dupa");
$(".text ul").append(li);
});
jquery делает это за кулисами