如何根据表的tr数追加表的一部分?

  • 本文关键字:追加 一部分 tr 何根 jquery
  • 更新时间 :
  • 英文 :


我想添加一个表的"<a></a>"内容,如果该表没有显示预先确定的tr的数量,可能吗?

我在这里设置了一个提琴https://jsfiddle.net/e2n57z97/4/

在页面上找到的任何表没有10个表行,它们的"<a></a>"将被附加到新表中。所有有10个tr的表将不会被追加。

下面的HTML示例显示10和5 tr's,所以我怎么能附加所有的"<a></a>"信息的任何表,不显示确切的10 tr's

<table class="report">  <!--  TABLE WITH 10 TR DO NOT APPEND A TAG INFO -->
    <caption>
      <span>
        <a href="#">DO NOT APPEND ME</a>
      </span>
    </caption>
    <tbody>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
    </tbody>
</table>
<table class="report">  <!--  TABLE WITH LESS THEN 10 TR APPEND A TAG INFO -->
    <caption>
      <span>
        <a href="#">APPEND ME TO NEW TABLE</a>
      </span>
    </caption>
    <tbody>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
        <tr></tr>
    </tbody>
</table>

<table class="homepagemodule report" id="Starting_Lineup" align="center" cellspacing="1">
<caption><span>No Starting Lineup</span></caption>
<tbody>
APPEND INFO HERE
</tbody>
</table>

这段代码将遍历所有报表表并计算表的行数。如果没有精确的10行,则将所有链接附加到阵容表中。

我猜你应该在链接中添加一个类,并检查.find("a")中的链接。当前代码将在报表中找到所有链接,而不仅仅是一个。

jQuery(".report").each(function(index, element){
    if(jQuery(this).find("tr").length !== 10 && jQuery(this).attr("id") !== "Starting_Lineup"){
        var target = jQuery("#Starting_Lineup").find("tbody");
        jQuery(this).find("a").each(function(){
            target.append("<tr><td>" + jQuery(this)[0].outerHTML + "</td></tr>");
        });
    }
})

最新更新