2015-04-12 2 views
0

Число, которое вы указали внутри поля ввода , определяет ячейку в таблице. То, что я хочу, чтобы «достичь» в клеток DIV «ы первого диапазона в том же если заявление (которое определяет красный цвет для выбранной ячейки). Если это невозможно получить в существующем , если заявление, как еще я могу его получить? Пожалуйста, помогите.Как получить элемент внутри ячейки таблицы?

Вот код: https://jsfiddle.net/th6vujjp/1/

или ниже:

var number = document.getElementById('number'); 
 

 
    number.onchange = function() { 
 
    
 
    var v = this.value; 
 
    
 
    var tdAttr = document.querySelector('td[data-cell|="'+v+'"]'); 
 
    
 
     
 
    
 
    if(tdAttr) { tdAttr.style.backgroundColor = 'red' 
 

 
    } 
 
    
 

 
}
td { 
 
    border: 1px solid blue; 
 
    height: 100px; 
 
    width: 100px; 
 
} 
 

 
    
 
td[data-cell|=""] { 
 
    background-color: red; 
 
} 
 

 
    
 
input { 
 
    margin-bottom: 20px;
<form> 
 
    <input data-type="number" placeholder="Day" id="number" maxlength="2" > 
 
</form> 
 

 

 

 
<table> 
 

 
    <tr> 
 

 
     <td data-cell="1-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="2-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="3-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="4-01-15"></td> 
 

 
    </tr> 
 

 
     <tr> 
 

 
     <td data-cell="5-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="6-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="7-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="8-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
    </tr> 
 

 
     <tr> 
 

 
     <td data-cell="9-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="10-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="11-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="12-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
    </tr> 
 

 
     <tr> 
 

 
     <td data-cell="13-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="14-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="15-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
     <td data-cell="16-01-15"> 
 
      <div> 
 
       <span></span> 
 
       <span></span> 
 
       <span></span> 
 
      </div> 
 
     </td> 
 

 
    </tr> 
 

 
</table>

+0

Не понимаю ... – theonlygusti

+0

Что я должен написать в своем заявлении: если (tdAttr) {tdAttr.style.backgroundColor = 'red' } для извлечения 1-го интервала выбранной ячейки? Выбранная ячейка определяется номером, который мы помещаем внутри поля ввода. Например. Я помещаю номер 4, 4-я ячейка внутри таблицы становится красной - это моя выбранная ячейка, и я хочу получить ее 1-й интервал внутри моего оператора IF, который я дал выше. –

+0

'document.querySelector ('td [data-cell | ="' + v + '"] span: nth-child (1)')' – theonlygusti

ответ

2
var number = document.getElementById('number'); 

    number.onchange = function() { 

    var v = this.value; 

    var tdAttr = document.querySelector('td[data-cell|="'+v+'"]'); 
    if(tdAttr) { 
       tdAttr.style.backgroundColor = 'red'; 
       tdAttr.getElementsByTagName("span")[0].innerHTML ="Tamem"; 
    } 
} 
Смежные вопросы