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

Filter JavaScript variable and get content from H3?

本文关键字:获取 H3 JavaScript 变量 过滤      更新时间:2023-09-26

我有一个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>

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>

使用find查找所有h3,使用each循环并存储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/

提醒一下,你的问题很模糊。

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

function doWork(my_full_content) //SEND YOUR HTML VARIABLE TO THIS FUNCTION
{
    //CREATE INVISIBLE PLACEHOLDER DIV
    $('body').append('<div id="tmpPlaceholder" style="display:none"></div>');
    // PLACE HTML INTO TEMPORARY DIV THAT IS HIDDEN
    $("#tmpPlaceholder").append(my_full_content); 
    //SHOWS THE h3's CONTENT
    var hContent = $("#tmpPlaceholder").find("h3").first().html();
    alert(hContent);
    $("#tmpPlaceholder").remove();
}
<标题>编辑

如果my_full_content变量是一个字符串,这将工作。