我有这些HTML标记,我需要从 TDs 获取文本。我已经拥有并且可以使用 li 的 ID 和 div id (li和div(嵌套在li)ID相同)。
如何仅从一个表中获取所有TD文本。例如,模板1的输入应为:
视频,图片
我的HTML
<div id="slideHolder">
<ul id="mainList">
<li templateid="1">
<div id="1">
<table >
<tr>
<td>Video</td>
<td>Image</td>
</tr>
</table>
</div>
</li>
<li templateid="2">
<div id="2" >
<table>
<tr>
<td >Text</td>
<td >Image</td>
</tr>
</table>
</div>
</li>
</ul>
</div>
答案 0 :(得分:0)
您可以使用:
var tdtexts= $("#mainList td").map(function() {
return $(this).text();
});
<强> Demo 强>
更新:在模板1中找到td文本:
var tdtexts= $("li[templateid='1'] td").map(function() {
return $(this).text();
});
<强> Demo 强>
答案 1 :(得分:0)
这是你的HTML:
<div id="slideHolder">
<ul id="mainList" ">
<li templateid="1">
<div id="div-id1" >
<table >
<tr>
<td>Video</td>
<td>Image</td>
</tr>
</table>
</div>
</li>
<li templateid="2">
<div id="div-id2" >
<table>
<tr>
<td >Text2</td>
<td >Image2</td>
</tr>
</table>
</div>
</li>
</ul>
</div>
以下是仅从第一个表中检索数据的Javascript:
var tdtexts= $("#div-id1 td").map(function() {
return $(this).text();
});
alert("array length: " + tdtexts.length + " first element: " + tdtexts[0] + " second element: " + tdtexts[1]);
看到结果显示在弹出窗口中,而不是HTML中。
另请注意,正如here所述,您不能将整数作为id
。
这是demo。
答案 2 :(得分:0)
您可以从此处以表格方式查找数据
$("#mainList table").each(function(){
$(this).find("td").each(function(){
return $(this).html();
});
});