2015-08-06 4 views
-1

У меня есть в таблице. Я хотел бы оператор if/else, который добавляет 92 к переменной x, если td находится в таблице.TD В таблице If/Else

Это код, который у меня есть, но, очевидно, 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 
} 
+1

Вы не закрыли свою 'скобки if' условие в –

+0

Строго говоря, требуется, чтобы все' ' элементов живут внутри'

', чтобы разметка была действительной. – bgoldst

+0

@bgoldst OP может пытаться написать _HTML validator_ –

ответ

1

Iterate вверх по DOM Tree с помощью elem.parentNode, чтобы увидеть, если предок является <table>.

Я был очень снисходителен в определении вашего требования «если ТД находится в таблице», вы можете быть более строгим (например, только что позволяет <tr>, <tbody>, <thead>, <tfoot> и <table> как действительные предки для вашего действия +92).

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; 
     } 
    } 
} 

Использование простого числа в качестве атрибута ид может привести к неожиданным результатам. Для достижения наилучших результатов имеет первый символ в a-zA-Z и избегать символов со специальными значениями селекторов .#:@

Смежные вопросы