如何使用jQuery从返回的HTML中获取一些数据

3
假设我在变量data中返回了一些HTML代码。 在该变量中,我有:

标题

现在我想获取文本“标题”并从变量数据中删除

标题


如何在jQuery中实现?

jQuery只是一个JavaScript库。JavaScript对文本操作有丰富的支持。 - bzlm
4个回答

6
您可以使用$.parseXML()将字符串转换为XML文档,然后使用jQuery运行DOM操作。
var XML= $.parseXML(data);
var title = $(XML).find('h1').text(); //Get the text inside h1 tags.
$(XML).find('h1').remove(); // Remove the h1 tags 

http://jsfiddle.net/QNnLe/


实际上,有效的HTML并不总是有效的XML,但我喜欢这个解决方案 :) - Karolis
我没有对XML进行配对,我认为这可能是它无法正常工作的原因。 - user1
.text()仅返回innertText,请改用.contents(),并查看示例http://jsfiddle.net/QNnLe/4/。 - Jishnu A P

1

您可以将内容包装在一个虚拟元素中,获取该元素,然后使用find查找您要查找的内容:

var data = "<h1> Title </h1>";    
console.log($(data).wrap('<div />').parent().find('h1 ').text()); // Title

var data = "sssssss  <h1> Title </h1> aaaaaaaaaa";    
console.log($(data).wrap('<div />').parent().find('h1').text()); //Title

如果data没有被包裹在元素中,那么包装将是有用的。

例子: http://jsfiddle.net/niklasvh/VWnVj/


0

或者像这样:

data = data.replace(/<\/?[^>]+>/gi, '');

0

类似这样:

var title = $(data).text();

1
变量data中有更多的HTML,所以我不能使用文本。 - user1
@user824981 你能给我们再举一个数据长什么样子的例子吗? - Karolis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接