仅在 Google Chrome 中解析 XML 后 JavaScript 变量失去值

标签 javascript jquery

我遇到了一个非常奇怪的问题。我正在使用 jQuery 的 $.get 从 URL 检索 XML。获得 XML 后,我将解析 idtitlecontent 属性。然后,我将每个添加到一个对象中。

由于某种原因,仅在 Google Chrome 中(我在 IE 或 Firefox 中没有问题),在将保存内容的变量插入对象之前,它是空的。但是在我解析该值并将其分配给该变量后,该变量就具有正确的值。这是我的代码,请参阅评论。

var myarray = new Array();

$.get( "https://www.my-url.com", function( data ) {
    $(data).find('entry').each(function(){

        var id, title, content;

        $(this).find("id").each(function(){
            var id = $(this).text();
        });

        $(this).find("title").each(function(){
            title = $(this).text();
        });

        $(this).find("content").each(function(){
            content = $(this).text();
            console.log(content); // value of content is correct
        });

        console.log(content);   // value of content is empty

        var o=new myobject(id,title,content);
        myarray.push(o);

    });

});

发生什么事了?

最佳答案

在给定场景中无需使用each() 循环。

使用

var $this = $(this),//cached jQuery object
    id = $this.find("id").text(),
    title = $this.find("title").text(),
    content = $this.find("content").text();

关于仅在 Google Chrome 中解析 XML 后 JavaScript 变量失去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896920/

相关文章:

javascript - 如何检查图像是否缓存在js中?

jquery - 使用 jquery 定位点击的 div

javascript - 使用 jquery 检测 mousemove

javascript - Timepicker 上的更改事件在 JS Fiddle 中工作,而不是在生产/开发环境中工作

javascript - jQuery .animate 命令问题

javascript - 使用 Connect 将 Facebook iOS SDK 与评论集成

javascript - 给exports.new 赋值可以吗?

jquery - 为什么克隆 DIV 中的 SELECT 在刷新时会出现错误行为?

javascript - React 模态 - 不变违规

JavaScript 函数 : no return statement identical to return undefined?