Jquery未获取'h1'来自文本

Jquery not fetching 'h1' from text

本文关键字:文本 h1 Jquery 获取      更新时间:2024-05-08

我有这个代码

success: function(data) {
 title = $(data).find('h1').text();
alert(data);
alert(title);
}

现在数据显示所有带有h1标签的html,但标题显示空

.find()方法查找子代元素,因此如果h1元素位于"顶部"级别,则找不到它。改为尝试.filter()

title = $(data).filter('h1').text();

"基本上我想获取h1并放入变量,然后将剩余的html放入数据变量"

给定一个data参数,它是一个类似于以下的字符串:

"<h1>My heading</h1><p>This is a test</p><p>This <span>is another</span> test.</p>"

你可以这样做:

var $data = $(data),
    $title = $data.filter("h1"),
    title = $title.text();
$data = $data.not($title);

以上结果产生了两个jQuery对象:$title,它包含h1元素,$data,它包含其余元素。从那里你可以使用$title.text()来获得h1的实际文本。

简单演示:http://jsfiddle.net/yyKCW/

如果您的意思是希望"剩余html"作为字符串,那么您可以在如上所述设置$data后执行以下操作:

var restAsString = $("<div></div>").append($data).html();

演示:http://jsfiddle.net/yyKCW/1/

如果您的数据由以下内容组成:

<h1>heading</h1>
<p>content</p>

然后,在执行查询之前,您需要对其进行包装:

var title = $('<div/>').html(data).find('h1').text();
alert(title);