过滤JavaScript变量并从H3获取内容?

时间:2016-07-04 11:32:06

标签: javascript jquery

我有一个 JS 变量,其中包含带代码的HTML代码。

我的问题是如何过滤此变量并仅获取H3标记内容?

我尝试了以下方法...

var api_el_title = $(my_full_content).text('h3');
var api_el_title = $(my_full_content).filter('h3');
var api_el_title = $(my_full_content ).find('h3');

没有人只能显示H3内容。

变量的输出示例为:

<h3>Lorem ipsum</h3>
<p>Dolor sit amet</p>
<p>Amet ist</p>
<p>Dolor sit ipsum</p>

3 个答案:

答案 0 :(得分:0)

filter中传递处理函数,并使用Element.tagName属性测试标记。

var ip = '<h1>Hey</h1>\
<h3>Valid</h3>\
<h2>Hello</h2>\
<h1>Hey</h1>\
<h3>Valid</h3>\
<h2>Hello</h2>';
var filtered = $(ip).filter(function() {
  return this.tagName.toLowerCase() === 'h3';
});
$('body').append(filtered);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

答案 1 :(得分:0)

使用find查找所有h3,使用每个h3循环并存储h3元素的每个值

var my_full_content = '<h3>Lorem ipsum</h3><p>Dolor sit amet</p><p>Amet ist</p><h3>Lorem ipsum2</h3><p>Dolor sit ipsum</p>'
var text = [];
$('<div>'+my_full_content+'</div>').find('h3').each(function(i,v){
   text.push($(v).text());
});
alert(text);

https://jsfiddle.net/f0chx41c/

答案 2 :(得分:-1)

请注意,您的问题非常模糊。

假设您可以访问JQuery并且使用您提供的有限信息,以下内容可能是一个解决方案:

{{1}}

修改

如果 my_full_content 变量是一个字符串,这将有效。