jQuery .html()方法的替代品?

时间:2014-10-05 11:49:37

标签: javascript jquery cordova

我目前正在使用phonegap开发单页应用程序。我想要实现的是最初解析一个xml文件并存储内容以供进一步使用。

目前一切正常但有一个主要问题:

在我的xml文件中,有一个包含html格式文本内容的标记。例如:

<textfield> <h1>Title</h1> Content </textfield>

我目前所做的是通过jQuery ajax调用加载我的xml文件,然后使用html()方法检索我的textfield html:

this.description = $(Obj).find("textfield").html();

在谷歌浏览器,Firefox和Android上,这很好用。 html存储后可以附加到我的对象。但是在Safari上,因此在iphone设备上,html()不起作用。现在我正在寻找一种解决方法。我当然不想使用text(),因为我的格式将被忽略。

编辑:我的ajax电话:

$.ajax({
    type: "GET",
    url: Controller.baseURL+"/"+name+".xml",
    async: false,
    timeout:3000,
    dataType: "xml",
    success: function (data) {
        alert("succ");
        xml = data;
    },
     error: function () {
        alert('error!');
    }
});

也许有人可以帮助我。

提前致谢

2 个答案:

答案 0 :(得分:2)

var parser = new DOMParser();
var parsed = parser.parseFromString(yourXMLStringLoadedViaAjax, 'text/xml');
var textfieldConetent = parsed.querySelector('textfield').innerHTML;

答案 1 :(得分:0)

经过几个小时的搜索,我终于在这里找到了答案:

https://stackoverflow.com/a/25789924/3566334

似乎

  

在IE 9,10和11,Safari 7.0和Opera 12中,doc中的节点既没有innerHTML字段也没有xml字段

我遵循了使用XML Serializer的建议,它就像一个魅力!