使用jquery从html中的两个表中删除第一行

时间:2017-01-05 07:19:15

标签: jquery

我在html中有两个具有相同汇总值的表,代码是在服务器端创建的,我无权生成具有不同ID的表或...

<table summary='somefreakydummytext'></table>
<table summary='somefreakydummytext'></table>

我想从两个表中删除第一行,但是下面的代码只删除第一个表的第一行

$("table[summary='somefreakydummytext'] tr:first").remove();

我测试了

 $("table[summary='somefreakydummytext']) 

它正在返回两个表。那么如何用jquery从两个表中删除第一行。

感谢大家。

1 个答案:

答案 0 :(得分:3)

:first是一个jQuery选择器,它在所选元素中首先选择。因此,使用:first-child伪类选择器从每个表中获取第一个子元素。

$("table[summary='somefreakydummytext'] tr:first-child").remove();

$("table[summary='somefreakydummytext'] tr:first-child").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table summary='somefreakydummytext'>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
</table>
<table summary='somefreakydummytext'>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
</table>

要避免嵌套表元素使用css direct child(>)选择器。

$("table[summary='somefreakydummytext'] > tbody > tr:first-child").remove();

$("table[summary='somefreakydummytext'] > tbody > tr:first-child").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table summary='somefreakydummytext'>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
</table>
<table summary='somefreakydummytext'>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
</table>