如何使用jquery从嵌套在列表中的表中获取文本

时间:2014-07-31 10:56:05

标签: jquery jquery-selectors

我有这些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> 

3 个答案:

答案 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();
   });

});