我有一个 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>
答案 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);
答案 2 :(得分:-1)
请注意,您的问题非常模糊。
假设您可以访问JQuery并且使用您提供的有限信息,以下内容可能是一个解决方案:
{{1}}
如果 my_full_content 变量是一个字符串,这将有效。