我正在使用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”并且结果显示,控件甚至没有进入循环。可能导致这种情况的原因是什么?
答案 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>';