Javascript 表If/Else中的TD

Javascript 表If/Else中的TD,javascript,html,html-table,Javascript,Html,Html Table,我有一张桌子。我想要一个if/else语句,如果td在一个表中,它将92添加到变量x中 这是我得到的代码,但显然if/else不是我想要的 //Html <table id="Tableleft"> <tr> <td id="92">Text 1</td> </tr> </table> //Javascript var x = 0 if ( document.getElementByID('92'))

我有一张桌子。我想要一个if/else语句,如果td在一个表中,它将92添加到变量x中

这是我得到的代码,但显然if/else不是我想要的

//Html
<table id="Tableleft">
   <tr>
     <td id="92">Text 1</td>
   </tr>
</table>

//Javascript
var x = 0
if ( document.getElementByID('92')) { 
//Help Here Please
}
//Html
文本1
//Javascript
变量x=0
if(document.getElementByID('92')){
//请帮帮我
}
使用迭代DOM树,查看祖先是否是

我对“如果TD在表中”的定义非常宽松,您可能希望更严格(例如,只允许
作为您的
+92
操作的有效祖先)

var x=0,
td=document.getElementByID('92'),
e、 //我们将在循环中使用它
如果(td){/`td`不是`null`->我们找到了一个具有_id`92的节点`
e=td;
而(e=e.parentNode){//迭代DOM树
如果(e.tagName==='TABLE'){//`td`节点有一个祖先``
x+=92;
打破
}
}
}


使用普通数字作为id属性可能会产生意外结果。为了获得最佳效果,请将第一个字符设置为
a-zA-Z
,并避免在选择器中使用具有特殊含义的字符
:@

如果严格地说,条件的括号中没有关闭
,则要求所有
元素都位于
中,为了使标记有效。@bgoldst OP可能正在尝试编写HTML验证程序
var x = 0,
    td = document.getElementByID('92'),
    e; // we'll use this in our loop
if (td) { // `td` is not `null` -> we found a node with _id_ `92`
    e = td;
    while (e = e.parentNode) { // iterate up the DOM tree
        if (e.tagName === 'TABLE') { // the `td` node has an ancestor `<table>`
            x += 92;
            break;
        }
    }
}