在jQuery中遍历DOM以获取父元素

时间:2016-08-08 18:14:35

标签: javascript jquery html

我试图遍历DOM并从某个子元素(输入元素)开始抓取某个元素(一个h2元素)

这是我的HTML:

<div class="main_selector box_1 active"> 
  <h2 class="criterion_title">Course</h2>
  <button class="toggle_button" data-contents=".item_1"></button>
  <ul class="contents item_1" style="display: block;">
   <li>
     <input class="courseSelectBox" type="checkbox" id="course_1" value>
     <label for="course_1>Brigade S-1<label>
   </li>

我的js:

$(document).ready(function(){
  $('input:checkbox').click(function(){
     console.log($(this).closest("h2").html());
   });
});

点击一个复选框后,我想抓住最近的&#34; h2&#34; (criterion_title),并记录其HTML。我所得到的只是&#34;未定义&#34;。

1 个答案:

答案 0 :(得分:1)

你正在以错误的方式穿越,

$('input:checkbox').click(function(){
 console.log($(this).closest("ul").siblings("h2").html());
});

根据您的HTML结构,h2不是复选框中最接近的父元素。

DEMO