如何将行作为参数传递给javascript?

时间:2014-10-28 13:12:18

标签: javascript jquery html

我想获取要在工具提示中显示的行的信息。例如:

<html>
<table style="width:100%">
  <tr>
    <td>Jill</td>
    <td onmouseover="loadtooltip(parameter)">Smith</td> 
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td onmouseover="loadtooltip(parameter)">Jackson</td> 
    <td>94</td>
  </tr>
</table>
<html>

因此,当我将鼠标移到行上时,我需要其他列的内容。

提前谢谢。

3 个答案:

答案 0 :(得分:2)

您可以将parentNode变量用作:

<td onmouseover="loadtooltip(this.parentNode)">Smith</td> 

答案 1 :(得分:0)

您使用jQuery标记了您的问题,因此我假设jQuery解决方案是可以接受的。首先,不要让你的事件处理程序内联,这是一个糟糕的形式。而是使用.on来连接您的事件处理程序。我添加了一个类,以便将您想要附加滚动的td标识为更容易一些。然后在处理程序中,this将引用收到该事件的元素,您可以使用$(this).parent()来获取它的父tr

&#13;
&#13;
$("td.rollable").on("mouseover", function(e) {
  var row = $(this).parent();
  alert(row[0]);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<table style="width:100%">
  <tr>
    <td>Jill</td>
    <td class="rollable">Smith</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td class="rollable">Jackson</td>
    <td>94</td>
  </tr>
</table>
<html>
&#13;
&#13;
&#13;

编辑,因为您的评论表明您确实需要兄弟姐妹,而不是行本身

&#13;
&#13;
$("td.rollable").on("mouseover", function(e) {
  var siblings = $(this).siblings();
  var text = siblings.map(function(i, item) { return item.innerHTML; });
  alert($.makeArray(text).join(", "));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<table style="width:100%">
  <tr>
    <td>Jill</td>
    <td class="rollable">Smith</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td class="rollable">Jackson</td>
    <td>94</td>
  </tr>
</table>
<html>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

$("#table").find("tr").eq(0)

要获取索引0处的行。然后可以遍历td元素。

相关问题