即時通訊試圖找出如何查看是否從AJAX請求返回錯誤。 用於測試的要求總是返回<p id="error">test</p>
jQuery - 查找元素是否在變量
我想你可以做這樣的:
//html is the var which contains the result
var DOM = $(html);
if($('#error', DOM).length != 0) {
alert(html);
}
但這不起作用。任何人都可以照亮最新的錯誤?
即時通訊試圖找出如何查看是否從AJAX請求返回錯誤。 用於測試的要求總是返回<p id="error">test</p>
jQuery - 查找元素是否在變量
我想你可以做這樣的:
//html is the var which contains the result
var DOM = $(html);
if($('#error', DOM).length != 0) {
alert(html);
}
但這不起作用。任何人都可以照亮最新的錯誤?
如果您的HTML不裹東西(比如div
),那麼它必須這樣做。
var html = '<div></div><p id="error">ERROR!</p><span>other stuff</span>';
var DOM= $('<div>' + html + '</div>');
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('<div class="hidden_div">'+html+'</div>');
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.
您可以使用查找功能:
if ($(html).find("#error").length != 0)
{
alert(html);
}
謝謝!這與div的扭曲解決它。 ++ 1 – Aristos 2013-01-16 12:06:11