javascript - jquery - 查找元素是否在变量中

标签 javascript jquery variables dom-traversal

我正在尝试了解如何查看 AJAX 请求是否返回错误。 用于测试请求总是返回 <p id="error">test</p>

我以为你可以这样做:

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

关于javascript - jquery - 查找元素是否在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4624090/

相关文章:

javascript - javascript 代码中的 onclick 事件处理程序,而不是 html 标记

javascript - 如何防止 shift + tab 聚焦?

c# - Jquery + AJAX + ASP.Net + WebForms

java - "cannot find symbol"错误

c - 如何在C中传递N个不同类型的参数

c - 在 C 中将一个变量分配给 union 中的另一个变量

javascript - 如何使用 jquery 不显眼地制作可访问的弹出窗口?

javascript - EmberJs ember-data 与 ember-localstorage-adapter

javascript - 在现有的、分离的 SVG 元素上创建 d3 选择

javascript - 使用 jQuery 创建自定义选择框下拉列表