我想在 jQuery 上获取 $(this) 内元素的文本内容

I want to get the text content of an element inside $(this) on jQuery

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 添加点击侦听器。我希望点击侦听器获取 div(excuseDivTime 的 class)内跨度的文本内容。有什么方法可以得到类似 ($(this) > span).textContent ??

的东西

使用find() or children()

$(document).on('click', '.excuse-div', function() {
   console.log( $(this).find('.excuseDivTime').text() );    
});

您可以在普通 JavaScript 或坚持使用 jQuery 中相当容易地做到这一点。

您需要查询点击div下的span。

如果您使用 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>