Я хочу получить текстовое содержимое элемента внутри $ (this) на jQuery - PullRequest
0 голосов
/ 06 октября 2019
function newFunc(){
  excuseDivs = " "
  excuseArrayItem = excuse + " : " + "<span class='excuseDivTime'>" + endTime + "</span>";
  excuseArray.unshift(excuseArrayItem)
  excuseArray.forEach(function(excuse){
  excuseDivs +="<div class='excuse-div'>"+excuse+"</div>"
})

Я хочу добавить прослушиватель щелчков в div, который создает эта функция. Я хочу, чтобы этот прослушиватель щелкнул, чтобы получить текстовое содержимое span внутри div (класс excuseDivTime). Есть ли способ получить что-то вроде ($(this) > span).textContent ??

Ответы [ 2 ]

1 голос
/ 06 октября 2019

Вы можете сделать это довольно легко либо в простом JavaScript, либо в jQuery.

Вам нужно запросить диапазон под нажатием div.

Если вы используете jQuery, придерживайтесьВызов метода jQuery, например .text() вместо .textContent.

// Plain JavaScript
document.getElementById('MyDiv').addEventListener('click', function(e) {
  alert(e.currentTarget.querySelector('span').textContent);
});

// jQuery Version
$('#MyDiv').on('click', function(e) {
  alert($(this).find('span').text());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="MyDiv">Click me! <span>This text will show in an alert.</span></div>
0 голосов
/ 06 октября 2019

Использование find() или children()

$(document).on('click', '.excuse-div', function() {
   console.log( $(this).find('.excuseDivTime').text() );    
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...