初始表格完整的html是从其他网站中提取的。
我需要为它做进一步的处理。
当措辞匹配时,我只想获取整个表格的html块,以覆盖当前<body>
标签内的内容。
现在问题是无法打印出整个表格的html块。
'标题标题'是动态值。我会不时添加更多的比较标准。如果匹配,那么我将只检索表格html,starting from <table> to </table>
,所有其他htmls在body标签内,但在表格标签之外需要消除。
<body>
<!-- Additional HTMl code -->
<div align="right">
<table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" valign="top"><strong>Header Title</strong></td>
</tr>
<tr>
<td height="32" valign="top">Date : <strong>01/01/2011 </strong> <br></td>
</tr>
<tr>
...
</tr>
</table>
<!-- Additional HTMl code -->
</div>
</body>
$("*").each(function() {
if($(this).children().length==0){
if($(this).text()=="Header Title"){
alert('match');
alert($(this).closest('table').html()); //not working...
}
}
答案 0 :(得分:0)
更新2:经过测试,工作:http://jsfiddle.net/inti/t9ysV/1/
更新:等待,缺少开始/结束<table>
标签,正在进行中...
Acually你的javascript(从最后丢失});
)就是这样:
$("*").each(function() {
if ($(this).children().size() == 0) {
if ($(this).text() == "Header Title") {
alert('match');
$("<div id='temp' />").appendTo("body");
$(this).closest('table').appendTo("#temp");
data = $("#temp").html();
$("#temp").remove();
alert(data);
}
}
});
诀窍是将表放在临时元素中,并读取该元素的html内容。 (然后删除它。)
答案 1 :(得分:0)
这将在页面中搜索div中的表格并查找第一行的内容。如果匹配,它将返回完整的表格。它会对页面中的许多表执行此操作。
$(function(){
var t = $("div table");
$(t).each(function(){
if($(this).find("tr:first-child").text().trim() == "Header Title Match") {
console.debug($(this).parent("div").html());
}
})
})
显然,您需要删除控制台内容。