如何在删除该行后获取跨度单击上的表td值

时间:2014-10-31 15:10:58

标签: javascript jquery

我有一张桌子,当我点击跨度时,单元格中有跨度。它显示最接近的 TR,第二个TD 值,然后删除该行。

Demo

我尝试但不工作......

<table id="Table_">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td><span class="abc">click me</span></td>
    </tr>
    <tr>
        <td>4</td>
        <td>5</td>
        <td>6</td>
        <td><span class="äbc">click me</span></td>
    </tr>
    <tr>
         <td>7</td>
        <td>8</td>
        <td>9</td>
        <td><span class="abc">click me</span></td>
    </tr>
    <tr>
        <td>10</td>
        <td>11</td>
        <td>12</td>
        <td><span class="abc">click me</span></td>
    </tr>
</table>

$('#Table_ .abc ').click(function() {
 alert($(this).closest("tr").children("td").eq(2).html());
    $(this).closest("tr").remove();
});

3 个答案:

答案 0 :(得分:3)

这样的事情应该有效:)

&#13;
&#13;
$('#Table_ .abc').click(function() {
  alert($(this).closest("tr").children("td").eq(1).html());
  $(this).closest("tr").remove();
});
&#13;
table {
  border: 1px solid black;
  border-collapse: collapse
}
table tr td {
  border: 1px solid black;
  padding: 5px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table id="Table_">
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td><span class="abc">click me</span>
    </td>
  </tr>
  <tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td><span class="abc">click me</span>
    </td>
  </tr>
  <tr>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td><span class="abc">click me</span>
    </td>
  </tr>
  <tr>
    <td>10</td>
    <td>11</td>
    <td>12</td>
    <td><span class="abc">click me</span>
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

问题出在你的HTML中,一个char以奇怪的方式编写。它应该是ä。

的内容

更新了jQuery代码:

$('.abc').click(function() {
 alert($(this).closest("tr").children("td").eq(2).html());
    $(this).closest("tr").remove();
});

请检查此fiddle

答案 2 :(得分:0)

请注意ä上的两个点。使用ä替换代码时,代码是正确的。

$('#Table_ span.äbc ').click(function() {
   alert($(this).closest("tr").children("td").eq(2).html());
   $(this).closest("tr").remove();
});