В вашем примере вы не закрыли <ul>
должным образом (отсутствует косая черта). Это ошибка копирования + вставки или в вашем коде?
Редактировать: И вам нужно рекомендуется использовать точку с запятой после каждого () (см. Комментарии):
.each(function(){
ul.append('<li>' + $(this).text() + '</li>');
});
Попробуйте следующее:
var newUL = $('<ul/>'); //due credit to meo (see below)
$('body').append(newUL);
$("span[title*='specific text']")
.contents()
.filter(function(){ return $(this).nodeType != 1; })
.each(function(){
$("body ul").append('<li>' + $(this).text() + '</li>');
});
Конечно, $(this).text()
не позволит вам поместить <img>
в <li>
s. Таким образом, вы получите пустой <li></li>
для каждого. Это можно исправить следующим образом:
.each(function(){
if ($(this).text().trim() != "") {
$("body ul").append('<li>' + $(this).text() + '</li>');
}
});