如何使用jQuery在加载了ajax的html文件中循环遍历多个表

如何使用jQuery在加载了ajax的html文件中循环遍历多个表,jquery,html,ajax,html-table,Jquery,Html,Ajax,Html Table,我正在尝试将响应数据解析为html格式。数据包含多个表(不是嵌套表)。我使用ajax加载html,并尝试使用jquery循环遍历数据 当我以“table”开始循环时(我有多个表,并且没有表的ID),问题是没有结果。当我使用“tr”时,它在firefox和chrome中运行良好,但在IE中不起作用 我想知道如何循环浏览这些表格。 这是我尝试的代码 <html> <head> <title>Html table tParser</title> &l

我正在尝试将响应数据解析为html格式。数据包含多个表(不是嵌套表)。我使用ajax加载html,并尝试使用jquery循环遍历数据

当我以“table”开始循环时(我有多个表,并且没有表的ID),问题是没有结果。当我使用“tr”时,它在firefox和chrome中运行良好,但在IE中不起作用

我想知道如何循环浏览这些表格。 这是我尝试的代码

<html>
<head>
<title>Html table tParser</title>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script language="JavaScript">
 $(document).ready(function(){   
        $.ajax({
                url: "htmltables.html",
                cache: false,
                success: function(html)  
                { 
                 //alert( (html.length));
                 //alert( $(html).find('table').size() );  
                $(html).find('table').each(function(index) 
                { 
                    document.write('<br />'+'<br />'+ 'Table:' + index + '<br />')
                    $(this).find('tr').each(function(index) {
                        document.write('<br />'+'<br />'+ 'Row :' + index + '<br />');                     
                        $(this).find('td').each(function(index) {                                                       
                            document.write($(this).text() + '<br />');
                        });  //td
                    }); //tr    
                });  //table
         } //success
             }); // $.ajax(
  });//$(document).ready(function    

     </script>
   </head>
   <body>
   </body>
</html>

/*------------------------------ */
/* Here is the sample html file I was trying to parse*/

<html>
<head>
<title></title>
</head>

<body>
<table width="200" border="1">
  <tr>
    <td>1</td>
    <td>1</td>
    <td>1</td>
  </tr>
  <tr>
    <td>2</td>
    <td>2</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>3</td>
    <td>3</td>
  </tr>
</table>
<table width="200" border="1">
  <tr>
    <td>4</td>
    <td>4</td>
    <td>5</td>
  </tr>
  <tr>
    <td>5</td>
    <td>4</td>
    <td>5</td>
  </tr>
  <tr>
    <td>6</td>
    <td>4</td>
    <td>5</td>
  </tr>
</table>

</body>
</html>

Html表格转换器
$(文档).ready(函数(){
$.ajax({
url:“htmltables.html”,
cache:false,
成功:函数(html)
{ 
//警报((html.length));
//警报($(html).find('table').size());
$(html).find('table').each(函数(索引)
{ 
document.write(“
”+”
“+”表:“+index+”
”) $(this).find('tr').each(函数(索引){ document.write(“
”+”
“+”行:“+index+”
”); $(this.find('td')。每个(函数(索引){ document.write($(this.text()+'
'); });//td });//tr });//表 }//成功 });//$.ajax( });//$(文档).ready(函数) /*------------------------------ */ /*下面是我试图解析的示例html文件*/ 1. 1. 1. 2. 2. 2. 3. 3. 3. 4. 4. 5. 5. 4. 5. 6. 4. 5.
您可以将表添加到隐藏元素,然后解析它:

var wrapper = $('<div>').hide().appendTo(document.body);
// [...]
success: function(html) {
    wrapper.append(html);
    var table = wrapper.find('table');
    alert(table.length); // should be at least 1

    // parse the HTML here

    wrapper.show(); // will reveal the html
}
var wrapper=$('').hide().appendTo(document.body);
// [...]
成功:函数(html){
append(html);
var table=wrapper.find('table');
警报(table.length);//应至少为1
//在这里解析HTML
wrapper.show();//将显示html
}
也许可以试试

$(html).wrap('<span>').parent().find('table')
$(html).wrap(“”).parent().find('table'))

yikes,格式化您的代码!请将其缩进4个空格!谢谢,它可以工作,但在Chrome和Firefox中存在一些问题。除了“wrapper.show()”IE只是打印“Table0”,我如何在IE中也能做到这一点?为什么“table”在没有附加到DOM的情况下不能工作,但“tr”仍然可以工作?谢谢,这在Chrome和Firefox中工作得很好。IE只是打印“table 0”这在IE中现在可以工作,document.write是个问题。还有一个问题,即以相反的顺序处理表格,最后一个表格t?我使用,$(html).wrap(“”).parent().find('table')。每个(函数(索引){是否有任何错误?在一个span中包装一个表?至少使用一个div。