Javascript jQuery.html()方法的替代方案?
我目前正在使用phonegap开发一个单页应用程序。我试图实现的是最初解析xml文件并存储内容以供进一步使用 目前一切正常,但有一个主要问题: 在我的xml文件中有一个a标记,它包含html格式的文本内容。例如:Javascript jQuery.html()方法的替代方案?,javascript,jquery,cordova,Javascript,Jquery,Cordova,我目前正在使用phonegap开发一个单页应用程序。我试图实现的是最初解析xml文件并存储内容以供进一步使用 目前一切正常,但有一个主要问题: 在我的xml文件中有一个a标记,它包含html格式的文本内容。例如: <textfield> <h1>Title</h1> Content </textfield> 在Google Chrome、Firefox和Android上,这一切都很好。html被存储,以后可以附加到我的对象中。但是,在Safari
<textfield> <h1>Title</h1> Content </textfield>
在Google Chrome、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!');
}
});
也许有人能帮我
提前感谢经过几个小时的搜索,我终于在这里找到了答案:
var parser = new DOMParser();
var parsed = parser.parseFromString(yourXMLStringLoadedViaAjax, 'text/xml');
var textfieldConetent = parsed.querySelector('textfield').innerHTML;
看来
在IE 9、10和11、Safari 7.0和Opera 12中,doc中的节点既没有innerHTML字段,也没有xml字段
我遵循了使用的建议,它就像一个符咒 看来这对我不起作用。如果查看我的ajax调用,我的xml对象已经是一个dom元素了。现在,如果我正在执行警报(xml.querySelector('textfield').innerHTML);它包含Chrome和Firefox上的内容,但在Safari上没有定义。嘿,@Dede1989。请检查
parsed.querySelector('textfield').innerHTML代码>与其他节点,而不是textfield
?
var parser = new DOMParser();
var parsed = parser.parseFromString(yourXMLStringLoadedViaAjax, 'text/xml');
var textfieldConetent = parsed.querySelector('textfield').innerHTML;