首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JQuery中遍历IE7对象的DOM元素?

如何在JQuery中遍历IE7对象的DOM元素?
EN

Stack Overflow用户
提问于 2016-03-28 14:29:45
回答 1查看 4.4K关注 0票数 1

我有一个来自JQuery对象(称为$xml)的API请求的xml响应。为了获取我需要的信息,我使用了:$xml[0].childNodes[0].childNodes[1].childNodes[1].textContent。这在Chrome、Firefox和IE10+上都适用,但是IE=<9并不用相同的方式来表示对象。

在Chrome、Firefox和IE10+中工作的代码:

代码语言:javascript
复制
$(function() {
  $.get('proxy.php', function(data) {
    if (typeof data == 'string') {
      console.error(data);
    } else {
      var test = $.parseXML(data);
      var $xml = $(data);
      console.log(data);

      alert($xml[0].childNodes[0].childNodes[1].childNodes[1].textContent);
    }
  });
});

在IE中的调试器中,它显示了对象数组的索引--但是当其他浏览器显示‘子“和'childNodes’这样的后代时,较低的IE只显示0: [object],没有任何选项可以在所述[object]中展开和查看。

如何遍历JQuery对象的内容,以一种在IE7+以及Chrome和火狐中工作的方式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-28 18:33:42

找到了另一种方法来实现这一点,这是更多的跨浏览器兼容和易于阅读。

代码语言:javascript
复制
$(function() {
 $.get('proxy.php', function(data) {
  if (typeof data == 'string') {
    console.error(data);
  } else {
    var test = $.parseXML(data);
    var $xml = $(data);
    console.log(data);

    alert($xml.find("Description").text());
  }
 });
});

.find()与xml字段的NodeNames结合使用,可以更灵活地遍历响应。.html()适用于Chrome和火狐(可能还有边缘),但旧的IE需要.text()来返回所需的信息。

这对我起了作用,我可以用"Description“或我想要附加功能的xml的任何其他参数来if..else。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36264432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档