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); }