Вы пытаетесь использовать форму "селектор, контекст" вызова $()
:
jQuery (селектор [, контекст])
селектор Строка, содержащая выражение селектора
context Элемент DOM, Document или jQuery для использования в качестве контекста
AСтрока HTML не соответствует ни одной из вещей, которые context
должны быть такими, чтобы jQuery не знал, что делать с вашими аргументами, и делает неверные предположения.
Вы, вероятно, хотите сделать это такэто:
$(data).filter('ul').each(function(i,v) {
//...
});
Демонстрация: http://jsfiddle.net/ambiguous/gxGB8/
Или, если вы не знаете, на каком уровне будут элементы <ul>
, оберните HTML в <div>
и используйте find
вместо filter
:
$('<div>' + data + '</div>').find('ul').each(function(i, v) {
//...
});
Демо: http://jsfiddle.net/ambiguous/tM4ua/