无法使用JQuery 2.1.4遍历HTML字符串中的元素

时间:2016-01-16 07:45:03

标签: jquery html

我正在使用JQuery函数来检索包含一些HTML代码的字符串并在本地处理它。字符串是:

var return_data = '<div><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr><span id="morerows">1</span></div>';

(我理解<tr>应该在<table>内,而不是在<div>内,但这就是我出于某种原因需要输入的方式,这对于手头的问题应该是无关紧要的。) 我需要的是遍历每个<tr>并将内容输出到控制台。我正在尝试这个:

$(return_data).find("tr").each(function(){
  var myData = $(this).html();
  console.log(myData);
});

但是上面什么也没做;控制台上没有输出。只是为了确定,我将console.log()输入更改为“hello”并且结果显示,控件甚至没有进入循环。可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

您可能需要以下内容。使用tr换取table并循环使用tr而不是div

var return_data = '<div><table><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr></table><span id="morerows">1</span></div>';

$(return_data).find("tr").each(function () {
    var myData = $(this).html();
    console.log(myData);
});

答案 1 :(得分:0)

您在html中缺少<table>标记,请尝试此fiddle

 var return_data = '<div><table><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr><tr><td>blah</td><td>more blah</td></tr></table><span id="morerows">1</span></div>';