Как взять дочерний эелемент в Js

198
05 февраля 2018, 06:39

document.addEventListener('DOMContentLoaded', function() { 
  var button = document.querySelectorAll('.but') 
  for (var i = 0; i < button.length; i++) { 
    button[i].addEventListener('click', function() { 
      var p1 = this.previousElementSibling.previousElementSibling.firstChild.innerHTML; 
      alert(p1); 
    }) 
 
  } 
});
<table> 
  <tr> 
    <td>1</td> 
    <td> 
      <a href="#">Текст который должен выдать alert </a> 
    </td> 
    <td> 
      <a href="#">Удалить</a> 
    </td> 
    <td> 
      <a href="#" class="but">Редактировать</a> 
    </td> 
  </tr> 
</table> 
<table> 
  <tr> 
    <td>2</td> 
    <td> 
      <a href="#">Текст который должен выдать alert2 </a> 
    </td> 
    <td> 
      <a href="#">Удалить2</a> 
    </td> 
    <td> 
      <a href="#" class="but">Редактировать2</a> 
    </td> 
  </tr> 
</table>

Как мне при нажатии на элемент классом but, получить текст из первой ссылки своей группы Текст который должен выдать alert

Answer 1
var p1 = this.previousElementSibling.previousElementSibling.firstChild.innerHTML;
var p1 = this.parentElement.parentElement.querySelector("a").textContent;

Код полностью:

document.addEventListener('DOMContentLoaded', function() { 
  var button = document.querySelectorAll('.but') 
  for (var i = 0; i < button.length; i++) { 
    button[i].addEventListener('click', function() { 
      var p1 = this.parentElement.parentElement.querySelector("a").textContent; 
      console.log(p1); 
    }) 
  } 
});
<table> 
  <tr> 
    <td>1</td> 
    <td> 
      <a href="#">Текст который должен выдать alert </a> 
    </td> 
    <td> 
      <a href="#">Удалить</a> 
    </td> 
    <td> 
      <a href="#" class="but">Редактировать</a> 
    </td> 
  </tr> 
  <tr> 
    <td>2</td> 
    <td> 
      <a href="#">Текст который должен выдать alert2 </a> 
    </td> 
    <td> 
      <a href="#">Удалить2</a> 
    </td> 
    <td> 
      <a href="#" class="but">Редактировать2</a> 
    </td> 
  </tr> 
</table>

READ ALSO
Как написать скрипт на JS?

Как написать скрипт на JS?

Есть такая структура

293
Импорт экспорт модулей в PHP как в JS

Импорт экспорт модулей в PHP как в JS

Всем привет! В JS есть очень удобная фича для организации кода - модулиТо есть разбиение блоков кода по отдельным файлам с возможностью импорта/экспорта...

205
Angular.js ng-show не обновляется в модальном окне

Angular.js ng-show не обновляется в модальном окне

У при нажатии на кнопку появляться модальное окно

242