$(this)div中标题的jQuery选择器

Tai*_*mur 0 javascript jquery dom

我需要在点击的特定div中选择并找到H2标签的html值,这是我现在正在尝试但无济于事:

单击.square时,我正在尝试运行此:

 $(this).find('h2').html();
Run Code Online (Sandbox Code Playgroud)

这就是html的样子:

<div class="square" id="2"><h2>Title</h2><h3>Comment</h3></div>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

谢谢

Ja͢*_*͢ck 5

您的代码必须放在单击处理程序中,如下所示:

$('.square').on('click', function() {
    alert($(this).find('h2').html());
}
Run Code Online (Sandbox Code Playgroud)

在单击处理程序之外,this指向window$(window).find('h2')找不到任何内容,从而.html()产生undefined.

如果您<div class="square">是动态生成的,则需要将单击处理程序"挂钩"到不会从页面中消失的最近元素.

$('#element_id').on('click', '.square', function() {
    alert($(this).find('h2').html());
}
Run Code Online (Sandbox Code Playgroud)