循环遍历变量中的元素

arb*_*bme 3 jquery loops

如何循环存储在'ul'标签的变量中的HTML?这是我到目前为止,但警报()甚至没有触发,我有点迷失...

var data = 'HTML';
$('ul', data).each(function(i,v) {
    var theTag = v.tagName;
    var theElement = $(v);
    var theValue = theElement.html();
    alert(theTag+'\n'+theElement+'\n'+theValue);
});
Run Code Online (Sandbox Code Playgroud)

谢谢

mu *_*ort 6

您正在尝试使用$()呼叫的"选择器,上下文"形式:

jQuery(selector [,context])
selector包含选择器表达式
上下文的字符串用作上下文的DOM元素,Document或jQuery

一串HTML与任何context应该是的东西都不匹配,所以jQuery不知道如何处理你的参数并做出错误的猜测.

你可能想这样做:

$(data).filter('ul').each(function(i,v) {
    //...
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/ambiguous/gxGB8/

或者,如果您不知道<ul>元素的级别,请将HTML包装在一起<div>并使用 find而不是filter:

$('<div>' + data + '</div>').find('ul').each(function(i, v) {
    //...
});
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/ambiguous/tM4ua/