如果行压缩字符串,则输出表行的副本

时间:2015-11-10 14:19:48

标签: jquery string

我有一张满是数据的表。

<table>
<tr>
<td class="production-name">
<a href="string1.html">Number 1</a>
</td>
<td class="production-name">
<a href="string2.html">Number 2</a>
</td>
</tr>
</table>

还有几张空表

<table id="production-name1-output">
</table>

<table id="production-name2-output">
</table>

我试图编写一些jQuery来检查.production-name表格单元格中所有href的字符串。

如果字符串匹配&#34; string1&#34;,则在空#production-name-1-output表中输出整个表行

如果字符串匹配&#34; string2&#34;,则在空#production-name-2-output表中输出整个表行

到目前为止,我设法做的就是检查href是否有字符串:

$('.production-date a[href*="string1"]').each(function() {
alert('Contains string 1');
});

但是循环遍历这个以检查多个字符串然后将整个父行输出到一个单独的表中是超出我的。

任何帮助表示赞赏。希望我能学到一两件事!

提前致谢。

杰米

1 个答案:

答案 0 :(得分:2)

下面的解决方案。以下是工作方式:您需要遍历单元格以查找匹配项。如果找到匹配项,请找到最接近的tr并克隆它。然后将其附加到空表中(确保在表中添加<tbody>标记。

  //loop the a tags in the class
 $('.production-name a').each(function() {

    var link = $(this).attr('href');
    if( link === 'string1.html') {

      alert('Contains string 1');
      //get the row to a var
      var thisRow = $(this).closest("tr").clone()
      //place the row in the new table

      $("#production-name1-output > tbody:last-child").append(thisRow)

     //end the loop since you found a match
    return false
   }


});

这是一个fiddle