0

问题

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

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 data == 'something',没有 HTML,它将失败。

是否有忽略 HTML 并且只看到 HTML 标签内的 TEXT 的函数?

谢谢!

4

2 回答 2

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将保持为字符串并将充当字符串,但您正在比较.text()DOM 元素的。

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

于 2013-04-14T17:36:04.593 回答
-2

这是你要找的吗?

。文本()

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

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

于 2013-04-14T17:35:47.360 回答