jquery – 查找元素是否在变量中

我试图找出如何从AJAX请求返回错误。 用于测试请求总是返回

test

我以为你可以这样做:

 //html is the var which contains the result var DOM = $(html); if( $('#error', DOM ).length != 0 ) { alert(html); } 

但这不起作用。 任何人都可以发现什么是错误的吗?

如果您的HTML没有包含在某些内容中(例如div ),则需要将其包含div

 var html = '

ERROR!

other stuff'; var DOM= $('
' + html + '
'); if( $('#error', DOM).length != 0 ) { alert(html); }

示例: http : //jsfiddle.net/jonathon/exqTD/

(我认为wrap会有所帮助,但事实并非如此。如果有人知道为什么然后指出它)。

或者,选择器上下文使用find实现,因此您可以这样做:

 if( DOM.find('#error').length != 0 ) { alert(html); } 

它没有插入到DOM中,因此您无法使用选择器进行查找。

您可以尝试在变量上使用带有test()函数的简单正则表达式。

 if (html.test(/id="error"/i)) { ... } 

检查这是否有用:

 $('body').append('
'+html+'
'); if($('#error',$('.hidden_div')).size()>0){ alert(html); }

只需添加css即可

 .hidden_div{display:none;} 

应该是它,哦,你可以使用.length.size()

或者您可以使用:

 if(html.indexOf('id="error"')>-1){alert('yes we have an error!');} 

干杯

G。

您可以使用findfunction:

 if ( $(html).find("#error").length != 0 ) { alert(html); }