Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 循环变量中的元素_Jquery_Loops - Fatal编程技术网

Jquery 循环变量中的元素

Jquery 循环变量中的元素,jquery,loops,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

如何循环遍历存储在变量中的“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);
});
谢谢

.val()
返回表单输入的值。
它不适用于任意元素

您需要
.text()
.html()


编辑:要查找HTML字符串中的元素,应编写
$(HTML)。查找('ul')
尝试从ul选择器中删除数据上下文范围

尝试以下操作:

$('ul').each(function() {
    // Gets underlying element object
    var theElement = $(this).get(0);

    var theTag = theElement.tagName;

    // Can also use .text() if you want just the textual content
    var theValue = $(this).html();

    // theElement can't be printed, it's an object
    alert(theTag+'\n'+theValue);
});
在这里,我假设您想要一些
标记的内容,而不是单个列表的
  • 部分。

    您正在尝试使用以下内容的“选择器,上下文”形式:

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

    HTML字符串与
    context
    应该匹配的任何内容都不匹配,因此jQuery不知道如何处理参数并做出错误的猜测

    您可能希望这样做:

    $(data).filter('ul').each(function(i,v) {
        //...
    });
    
    演示:

    或者,如果您没有找到
    而不是:

    $(''+数据+'')。查找('ul')。每个(函数(i,v){
    //...
    });
    
    演示:

    检查此项


    这会有帮助的

    谢谢,但还是不行。警报甚至不会触发。如果我这样做,它将循环通过文档而不是变量。顺便说一句,如果它没有到达警报,打开Firebug或类似的-你可能有一个JS错误。我试图循环通过一个变量而不是文档本身的元素,这可能吗?我在Firebug控制台中没有错误,似乎我无法从变量中找到元素。谢谢
    $('<div>' + data + '</div>').find('ul').each(function(i, v) {
        //...
    });