在悬停时突出显示每个表的相应元素的行和列

时间:2015-02-19 18:11:16

标签: jquery html css html-table hover

我有两张桌子并排在一起:

<!DOCTYPE html>
    <table>
        <tr>
            <td>
                <table>
                    <tr><td>1</td><td>2</td><td>3</td></tr>
                    <tr><td>4</td><td>5</td><td>6</td></tr>
                    <tr><td>7</td><td>8</td><td>9</td></tr>
                </table>
            </td>
            <td>
                <table>
                    <tr><td>1</td><td>2</td><td>3</td></tr>
                    <tr><td>4</td><td>5</td><td>6</td></tr>
                    <tr><td>7</td><td>8</td><td>9</td></tr>
                </table>
            </td>
        </tr>
    </table>

当我将鼠标悬停在任何表上的元素上时,我希望其他表上的相应元素也被突出显示(即如果我将鼠标悬停在一个表上具有索引[0,0]的元素上,我想要相应的元素另一个表上的索引[0,0]也要突出显示。)

我在这里使用http://jsfiddle.net/rhyu3r0r/的建议在一个表上执行此操作(但是,我使用了addClass和removeClass而不是toggleClass)。我将如何进行上述行动?

1 个答案:

答案 0 :(得分:1)

这是一种方法,如果表格有id,会更容易,但这也有效:

$('table table td').hover(function() {
    $this = $(this);
  $this.toggleClass('hovered');
    //which cell is selected
    cell = $this.closest("table").find("td").index(this);
   $this.closest("table").parent().siblings("td").find("td").eq(cell).toggleClass('hovered');
});

http://jsfiddle.net/rhyu3r0r/1/