从 $table 中提取 outerHTML 变量

Posted

技术标签:

【中文标题】从 $table 中提取 outerHTML 变量【英文标题】:Extract outerHTML variable from $table 【发布时间】:2015-07-22 10:20:22 【问题描述】:

我无法找到任何有关此的信息,所以请原谅缺乏知识。我使用下面的代码创建了一个表格,但现在我想将表格与 jQuery 插件一起使用,但为了做到这一点,我需要打印出表格,但我的意思是

<table>
  <tr>
  .
  .
  .

我不确定如何只获取文本。我尝试将 $table 打印到控制台,但它给了我对象及其属性。对象的一部分是outerhtml,这正是我所需要的。我可以提取这个outerHTML吗?我可以在不作为对象的情况下对 $table 的文本进行字符串化或打印吗?

谢谢

var columns = ["username","user_id","address","state","postal_code","phone","email"];

var level_classes = "NEW":"new_client", "RENEWAL":"renewing_client", "CURRENT":"current_client";

$(document).ready( function() 
    $.getJSON("obtainUsers.php", function(data) 
        var $table = $('<table style="width: 100%;">');
        var $tbody = $('<tbody>');
        $table.append($tbody);
        var $tr = null;

        data.forEach(function(user, index)
            if(index % 4 === 0) 
                $tr = $('<tr>');
                $tbody.append($tr);
            
            $td = $('<td class="'+level_classes[user.level]+'">');
            columns.forEach(function(col)
                $td.append(user[col]);
                $td.append($('<br>'));
            );
            $tr.append($td);
        );
        $('.runninglist').append($table);
    );
);

【问题讨论】:

您到底想提取什么?在你的代码 sn-p 中显示它——或者如果它 is 只是为了将该表与 jQuery 插件一起使用,在将它附加到 dom 之后,使用这个:$('.runninglist &gt; table').yourPluginName(),orrr 来获取该表的文本,$('.runninglist &gt; table').text(); 实际上.text() 与我想要的很接近。问题只是显示表格内的文本,它完全删除了所有tdtrtd 标签。 然后改用.html()... 是的,做到了!谢谢@ted 我确实还有一个问题,当我执行html() 时,我确实得到了带有标签的字符串,但是&lt;table style="width: 100%;"&gt; 标签不存在,为什么? 【参考方案1】:

使用.html() 打印outerHTML 节点。谢谢@Ted。

【讨论】:

以上是关于从 $table 中提取 outerHTML 变量的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式之提取括号内内容

C#Selenium如何获取元素所有子元素的outerhtml

从字符串中提取数字以允许单词变化

IE中未定义的outerHTML

通过outerHTML获取HTML内容并去掉一个div

python scrapy - 从 <table> 中提取数据 - 没有 id 标签