如何获取JavaScript中单击的td?

如何获取JavaScript中单击的td?,javascript,jquery,Javascript,Jquery,我有下表: <table> <tbody> <tr data-uom_id="1" id="id-742"> <td style="width: 15%; vertical-align: middle; display: none;"><img src="left-arrow.png>"</td> <td style="width: 70%; text-align: left;" clas

我有下表:

<table>
  <tbody>
   <tr data-uom_id="1" id="id-742">
     <td style="width: 15%; vertical-align: middle; display: none;"><img src="left-arrow.png>"</td>
     <td style="width: 70%; text-align: left;" class="center">some text here</td>
     <td style="width: 15%; vertical-align: middle;"><img src="right-arrow.png></td>
   </tr>
  </tbody>
</table>

"
这里有一些文字
在这里,我的
元素有3个
。我可以得到单击的
元素吗?请查看附加图像以了解更多说明


您可以尝试以下代码:

$('body').on('click', 'td', function(){
    console.log($(this).text());
});
编辑-根据要求更改代码

函数whichOne(){
//警报(this.id);
document.getElementById(“中心”).style.textAlign=this.id;
} 
document.getElementById('left').onclick=whichOne;
document.getElementById('right').onclick=whichOne;
document.getElementById('center')。onclick=whichOne;

1.
2.
3.

绑定单击处理程序后,可以获得索引:

$(“#id-742 td”)。单击(函数(){
var numClicked=$(this).index()+1;
console.log(numClicked)
})

1.
2.
3.

您可以使用以下代码获取单击单元格:

$('body').on('click', 'td', function(){
    console.log($(this).text());
});
使用这个

$("#id-742 td").click(function(){
    //function to run when a td is clicked
});

在函数内部,您可以使用
访问单击的td,这是一个纯JavaScript解决方案:

var
    td = document.getElementById("id-742").children,
    i = 0;

Array.from(td).forEach(function() {
    td[i].onclick = function(e) {
        alert(e.target.innerHTML);
    };
    i++;
});
片段:

var
    td = document.getElementById("id-742").children,
    i = 0;

Array.from(td).forEach(function() {
    td[i].onclick = function(e) {
        alert(e.target.innerHTML);
    };
    i++;
});
var
td=document.getElementById(“id-742”)。子项,
i=0;
from(td.forEach(function()){
td[i].onclick=函数(e){
警报(e.target.innerHTML);
};
i++;
});
td:n类型(2){
背景色:红色;
}
td:nth类型(3){
背景颜色:绿色;
}

1.
2.
3.
这里有一个JS解决方案:

function whichTd() {
   var td = document.getElementById("id-742").children;
   for (var i=0; i < td.length; i++){
      td[i].addEventListener("click", function(i) {
            alert("td"+(i+1)+"has been clicked");
      }(i),false);
   }
}        
函数whichTd(){
var td=document.getElementById(“id-742”).children;
对于(变量i=0;i
您可以更轻松地使用jquery的on-click方法,并使用该方法访问当前单击的td

$(函数(){
$('tr#id-742 td')。在('click',function()上{
console.log(this);
});
});

1.
2.
3.

单击是什么意思?您是否有一个事件绑定到它们,或者您想知道以前单击过哪些事件?我想在单击左键时将“中心”移到左侧,右键和中心键相同,值2应在它们各自的单击时移到左、右和中心。谢谢@guradio的可能重复项,我的问题不同根据你的建议,我不想得到点击的文本,而是想知道是哪一条(第一条、第二条还是第三条)点击了吗?如果你能得到点击td的文本,确定你知道哪个td被点击了吗?@SachinVairagiI将你的代码复制到单独的php文件中,但它不起作用。你将HTML部分复制到一个php文件中,你是否导入了JS或在
head
标记中添加了脚本?