查找包含在HTML标记中的元素

时间:2014-02-21 11:24:15

标签: jquery

如果我有以下HTML结构,我将如何在h2元素中的强标记之间抓取文本。

<div class="div1">
  <div class="div2>
   <h2>
     <strong>Default</strong>
     <span class="default">(Default)</span>
     <a class="remove remove-stage-1" href="#">Remove</a>
     <span class="remove remove-stage-2 hidden">
  </h2>

目前我在控制台中尝试了一些事情并提出了

template = $('.div1')
$(template).find('h2').each(function(index, elem) {
  console.log(index + $(this).text(), elem + $(this).text() );
});

将把我的元素输出为

Default (Default) Remove

任何帮助表示赞赏

6 个答案:

答案 0 :(得分:2)

使用Child Selector (“parent > child”)选择器。

<强> Live Demo

$('.div2 > h2 > strong').text()

描述:选择由“parent”指定的元素“child”指定的所有直接子元素。

  

儿童组合子(E> F)可以被认为是更具体的形式   后代组合子(E F)的结果是它只选择第一级   后代。

答案 1 :(得分:1)

我如何在h2元素中的强标记之间抓取文本。

您不需要.each

template = $('.div1')
template.find('h2 strong').text()

答案 2 :(得分:1)

$('.div2 > h2 > strong').text();

答案 3 :(得分:1)

为什么不

template = $('.div1')
var text $(template).find('h2 strong').text();

答案 4 :(得分:1)

使用:

$('.div2  h2').find("strong").text();

$('.div2  h2 strong').text();

答案 5 :(得分:0)

alert($('.div1 .div2 h2 strong').text());