2014-11-02 102 views
2

我有一些通过ajax调用获取的html。我将html字符串分配给一个变量。我想要做的只是搜索这个变量,而不是整个文档,用于预标签并显示文本。什么是正确的方法来做到这一点?搜索变量的标签

$(document).ready(function() { 
    var rawtext = htmlstringwithpretags 
    $(rawtext).find('pre').each(function() { 
     alert($(this).text()); 
    }); 
}); 
+0

您能给我们举个例子? – Ismail 2014-11-02 16:13:01

+0

使用'substring()'和'indexOf()' – myfunkyside 2014-11-02 16:14:18

+0

你在实现中遇到了什么问题? – 2014-11-02 16:34:32

回答

0

在这种情况下,你可能想看看$.parseHTML()

var rawtext = "hello wold<pre>pre text content</pre>"; 
var html = $.parseHTML(rawtext); 

$.each(html, function(i, el){ 
    if('PRE' == el.nodeName){ alert(el) } 
}); 
+1

就是这样。我将alert更改为:alert($(el).text())};因为我需要文字。 – Jotter 2014-11-02 18:01:41

1

试试这个

htmlstring有一个pre标签

var rawtext = "hello wold<pre>pre text content</pre>"; 
alert($("<div>"+rawtext+"</div>").find('pre').text()); 

htmlstring有许多pre标签,你想迭代,然后用这个

$("<div>"+rawtext+"</div>").find('pre').each(function() { 
     alert($(this).text()); 

    }); 
+0

这是为变量创建一个新的div?我可以在这里迭代使用.each吗? – Jotter 2014-11-02 16:24:06

+0

你的意思是说,htmlstring有多个pre标签,你想获得所有的值? – Asik 2014-11-02 16:30:05

0

试试这个:

$("<div>"+rawtext+"</div>").find("pre").each(function(){ 
    alert($(this).text()); 
});