Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取函数(此)td元素的ID_Javascript_Html_Function_This - Fatal编程技术网

Javascript 获取函数(此)td元素的ID

Javascript 获取函数(此)td元素的ID,javascript,html,function,this,Javascript,Html,Function,This,我通过函数发送TD,但无法与ID交互 HTML: JS: 功能移动(td){ //我要这个td的ID,我用“this”捕捉到的 var tdId=td.id;//strong文本对我来说,它很好用:) 这是一把小提琴: var move=函数(td){ //我要这个td的ID,我用“this”捕捉到的 var tdId=td.id;//您的第一个语句运行良好 我随便举了一个例子: (检查控制台以获取输出!) HTML: <table> <tr>

我通过函数发送TD,但无法与ID交互

HTML:


JS:

功能移动(td){
//我要这个td的ID,我用“this”捕捉到的

var tdId=td.id;//strong文本对我来说,它很好用:)

这是一把小提琴:

var move=函数(td){
//我要这个td的ID,我用“this”捕捉到的

var tdId=td.id;//您的第一个语句运行良好

我随便举了一个例子:

(检查控制台以获取输出!)

HTML:

<table>
    <tr>
        <td id="1" onclick="move(this);">a</td>
        <td id="2" onclick="move(this);">b</td>
        <td id="3" onclick="move(this);">c</td>
    </tr>
</table>
输出:

1
2
3


有几件事需要解决:

1.HTML ID应以字母开头

这在HTML5中不再是一个要求,但您仍然应该这样做

如果要将数据附加到元素,应使用
data-*
属性


2.不引人注目的JavaScript

我删除了
onclick
属性,以便采取更多的方法。我在
元素中附加了一个简单的
id
,以便于针对我们关心的特定
td
元素

//我们的移动函数
功能移动(elem){
log(elem.getAttribute(“数据id”);
}
//我们的点击监听器
函数onClick(事件){
移动(这个);
event.preventDefault();
}
//获取表的td元素
var table=document.getElementById(“我的表”);
var tds=table.getElementsByTagName(“td”);
//循环遍历每个td并添加一个单击侦听器

对于(var i=0,len=tds.length;我很好用。您正在检查
if(tds[td]。innerHTML==“last”){
,而td内的内容是空的,所以基本上是tds[td]。innerHTML=''HTML4浏览器?如果是这样,
id
s不应该以数字开头。不,bucle工作正常,不工作的行是警报(td.id)我无法显示在函数中调用的td的ID。“你没有问题”不是答案。是的…它工作了…我再次尝试删除函数中的所有代码并工作了。这是我的问题,谢谢!!
var move = function(td) {
//I want the ID of this td that I've captured by "this"
var tdId = td.id; //<--- This doesn't works

alert(tdId);
<table>
    <tr>
        <td id="1" onclick="move(this);">a</td>
        <td id="2" onclick="move(this);">b</td>
        <td id="3" onclick="move(this);">c</td>
    </tr>
</table>
function move(td) {
    console.log(td.id);
}
1
2
3