Firefox ext 中的 responseXML 上的 jQuery
我试图允许 jQuery 1.4.2 在 responseXML 变量上工作,但它不...我只能让它与显示的实时页面一起工作。 这是我的代码:
var url = myext.baseuri + "/Common/page.asp";
var httpRequest = myext.createHttpRequest();
httpRequest.open('GET', url, false);
httpRequest.send();
if (httpRequest.status == 200) {
$h = function(selector,context){ return new jQuery.fn.init(selector,context||httpRequest.responseXML); };
Firebug.Console.log($h().find("select#id").html());
Firebug.Console.log($h(httpRequest.responseXML));
Firebug.Console.log($h(httpRequest.responseXML).html());
} else {
Firebug.Console.warn("status "+ httpRequest.status);
}
我在 Firebug 控制台中看到以下结果:
- Null
- jQuery(Document )
- Null
我不明白在这种情况下应该如何利用 jQuery...为什么第一行返回 Null? 我真的需要一些帮助...
谢谢!
I'm trying to allow jQuery 1.4.2 work on a responseXML variable, but it doesn't... I can only let it work with the live page displayed.
Here's my code:
var url = myext.baseuri + "/Common/page.asp";
var httpRequest = myext.createHttpRequest();
httpRequest.open('GET', url, false);
httpRequest.send();
if (httpRequest.status == 200) {
$h = function(selector,context){ return new jQuery.fn.init(selector,context||httpRequest.responseXML); };
Firebug.Console.log($h().find("select#id").html());
Firebug.Console.log($h(httpRequest.responseXML));
Firebug.Console.log($h(httpRequest.responseXML).html());
} else {
Firebug.Console.warn("status "+ httpRequest.status);
}
I see the following results in Firebug console:
- Null
- jQuery(Document )
- Null
I don't understand how I should utilize jQuery in this case... why the first row returns Null?
I really need some help...
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您不应该在 XML 文档上使用 html(),因为它在 jQuery 文档中指定: http://docs.jquery .com/Html。
如果您想获取“select#id”元素中包含的文本,您应该尝试
,因为 text() 函数可以在 XML 文档上使用(参见 jQuery 文档)。
如果你想获取 XML 响应的另一个元素,你可以这样获取:
我没有尝试像你尝试使用“#id”那样通过 Id 获取元素,但我认为 jQuery 可能不支持它XML 文档,因为它调用“document.getElementById()”。您可以尝试一下:
使用此方法您不会获得相同的性能,但它可能会起作用!
You shouldn't use html() on XML documents, as it is specified in jQuery documentation : http://docs.jquery.com/Html.
If you want to get the text contained in the "select#id" element, you should try
as the text() function can be used on XML documents (cf jQuery documentation).
If you want to get another element of your XML response, you can get it like this :
I haven't tried to get elements by Id like you tried with "#id", but I think that it may be not supported by jQuery for XML document as it calls "document.getElementById()". You may try instead :
You will not have the same performances with this method, but it may work !
以下是我正在处理的示例:
Firebug 控制台:
[item, item, item, item]
这是我正在处理的 XML 示例:
希望它能有所帮助!
Here is an example of what i am working on :
And the Firebug Console :
[item, item, item, item]
Here is an example of the XML I am working on :
Hope it can help !