jQuery函数只看到TEXT并忽略HTML?

时间:2013-04-14 17:31:29

标签: php jquery

问题

我有一个jquery POST代码,可以将数据发送到PHP和PHP回复。

PHP回复如下:

echo '<div class="blabla">hello world!</div>';

我想做这样的事情:

if (data == 'hello world') { 
do something
}

这是我的jQuery:

            $.post("events.php?action=send", { data :  $(this).serialize() }, function(data) 
            {
                $("#processing").html('');              
                if (data == 'hello world')                  
                {
                    $(".error").html(data);
                }
                else
                {
                    $("#comments").html(data);
                }
                submit.fadeIn("slow");  
            });

问题

如果我只使用if = ='something',而不使用HTML,则会失败。

是否存在忽略HTML并且只在HTML标记内看到TEXT的函数?

谢谢!

2 个答案:

答案 0 :(得分:5)

如果将字符串传递给jQuery构造函数,该构造函数将返回一个DOM对象,然后您可以在其上使用标准的jQuery方法。

例如:

var data = '<div class="blabla">hello world!</div>';

if($(data).text() == 'hello world!'){
    console.log('hello world is the content');
}

data将保留为字符串并将作为字符串,但您正在比较DOM元素的.text()

注意:在大型HTML字符串上,这可能需要一段时间才能处理成DOM元素。明智地使用。理想情况下,您应该将JSON与您的AJAX请求等一起使用。

答案 1 :(得分:-2)

这是你要找的吗?

的.text()

http://api.jquery.com/text/

您可以将字符串放在jQuery(“$()”)中,这样您就可以获得$(data).text()并将字符串作为文本返回;