我正在使用表来显示项目,单元格[0]上的onclick事件应该输出(警告)来自单元格[1]和单元格[2]的数据。

我不确定我可以使用哪种方法访问它们。

这是我到目前为止的代码http://jsfiddle.net/5uua7eyx/3/

也许有一种方法可以使用我的变量输入

HTML

<table id="items">
    <tr>
        <td onclick="ClickPic(this)">Picture0</td>
        <td>Name0</td>
        <td>Price0</td>
    </tr>

        <tr>
        <td onclick="ClickPic(this)">Picture1</td>
        <td>Name1</td>
        <td>Price1</td>
    </tr>         
</table>

JS

function ClickPic(e) {
    "use strict";
    var input = e.target;
    alert("Clicked!");
}

谢谢

===============>>#1 票数:5 已采纳

你传递了this ,它表示单击的元素,而不是事件对象。

所有你需要做的是用参数来获取同级.cells.parentNode ,然后使用elem.cellIndex找出下一个指标:

 function ClickPic(elem) { "use strict"; var cells = elem.parentNode.cells; var currIdx = elem.cellIndex; alert(cells[currIdx + 1].textContent + " " + cells[currIdx + 2].textContent); } 
 <table id="items"> <tr> <td onclick="ClickPic(this)">Picture0</td> <td>Name0</td> <td>Price0</td> </tr> <tr> <td onclick="ClickPic(this)">Picture1</td> <td>Name1</td> <td>Price1</td> </tr> </table> x 

如果你知道索引号总是12 ,那么你可以缩短它。

    alert(cells[1].textContent + " " + cells[2].textContent);

===============>>#2 票数:0

你可以将你的js函数更改为这样的东西

<script type="text/javascript">
                function ClickPic(e) {
                var s = '';
                $(e).siblings().each(function() {
                s = s + ',' + $(this).text()

});

                alert(s);

}

  ask by diadamalol translate from so

未解决问题?本站智能推荐: