功能描述:使用jQuery解析已经定义好内容的xml文件
1.xml文件:menu.xml
<?xml version="1.0" encoding="gb2312"?>
<menus>
<menu>
<id>1</id>
<name>system</name>
<parentId>0</parentId>
<target>mainFrame</target>
<url></url>
</menu>
<menu>
<id>2</id>
<name>company</name>
<parentId>1</parentId>
<target>mainFrame</target>
<url></url>
</menu>
</menus>
2.自定义js文件解析xml文件:index.js
$(document).ready(function(){
$.ajax({
url:"xml/menu.xml ",
type:"POST",
dataType:"xml",
success:function(data){
$(data).find("menu").each(function(){
alert("success");
alert($(this).text());
});
},
error:function(data){
alert("fail:");
}
});
});
3.新建index.html文件引入jQuery.js、xml文件及index.js文件,在ie中(任何版本)运行index.html,结果总是弹出“fail”,但是在Firefox中的结果却是“success”。
在网上搜了很多资料,最后在这篇文章http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/上找到了解决方案。是因为ie中的限制无法正确解析xml文件,它解析出的是一个text对象(在我引用的文章中有更详细的解释)所以针对这个加入判断就可以解决了
正确代码index.js
$(document).ready(function(){
$.ajax({
url:"xml/menu.xml",
type:"POST",
dataType:($.browser.msie) ? "text" : "xml",
success:function(data){
var xml;
if( typeof data == "string" ){
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
$(xml).find("menu").each(function(){
alert("success");
alert($(this).text());
});
},
error:function(data){
alert("fail:");
}
});
});
分享到:
相关推荐
以下是一个兼容IE的解决方案: ```javascript function createXML(xmlString) { var xmlDoc; if (window.DOMParser) { xmlDoc = new DOMParser().parseFromString(xmlString, "text/xml"); } else { // IE ...
6. **更新或更换浏览器**:尽管这是一个技术解决方案,但提醒用户升级到较新的浏览器版本或者使用非IE浏览器,可以避免许多此类兼容性问题。 通过理解这个错误的本质和其产生的原因,我们可以采取相应的策略来优化...
在本文中,我们将深入探讨如何使用jQuery插件将JSP中的指定区域导出到Word文档,并且这个解决方案特别针对IE8浏览器进行了优化。在开始之前,我们需要明白几个关键概念和技术。 1. **jQuery插件**:jQuery是一个...
在Web开发中,jQuery的`.ajax`函数是异步数据交互的核心工具,它允许开发者通过HTTP请求获取并处理服务器端的数据。...在实际项目中,这种解决方案能够提高兼容性和用户体验,确保在不同浏览器环境下程序的稳定运行。
在这篇文章中,讨论了在使用jquery.form插件进行AJAX提交时,IE浏览器对某些响应头信息的处理可能与其他浏览器(如...如果问题依然存在,可能需要进一步调查IE内部处理AJAX请求的机制,或寻找其他的兼容性解决方案。
在这个案例中,JavaScript被用来动态地创建和更新菜单项,根据用户的操作加载并解析XML文件,展示相应的子菜单。"jquery-1.3.2.min.js" 是一个古老的jQuery库版本,jQuery是一个流行的JS库,它简化了DOM操作、事件...
JavaScript是Web开发中不可或缺的一部分,尤其在处理动态交互和页面逻辑时。然而,由于不同的浏览器在实现JavaScript...对于开发过程中遇到的具体问题,开发者应参考相关文档,进行实际测试,以便找到最佳解决方案。
jQueryUpload控件作为一个强大且易用的上传解决方案,深受开发者喜爱。本文将深入解析jQueryUpload的原理、配置及其实现方式,并探讨其在实际项目中的应用。 一、jQueryUpload概述 jQueryUpload是由Valums开发的一...
`jquery.form.js`是由Malsup开发的jQuery插件,其主要目标是提供一套完整的解决方案来处理HTML表单,包括异步提交(AJAX)、文件上传、表单验证等功能。这个插件与jQuery的核心库紧密结合,可以无缝地在现有的jQuery...
本文将深入探讨jQuery的常见问题及其解决方案,帮助开发者更好地理解和应用jQuery。 1. **IE浏览器下的动画闪烁问题** 在Internet Explorer中,有时动画效果可能会出现闪烁,这通常是因为缺少DOCTYPE定义导致的...
解决方案是确保在创建元素时总是使用自我闭合的标签,或者避免在IE6、7、8中使用未闭合的XML标签。由于这个问题已经在官方提交,并且在修复之前可能会影响代码的兼容性,开发人员应尽量遵循这个建议,或者使用条件...
然而,考虑到现代浏览器的兼容性和性能优化,建议使用更现代的技术栈,如 jQuery、Vanilla JS、React 或 Vue 等,它们提供了更强大、更跨平台的解决方案。同时,XML 虽然在某些场景下仍有应用,但在前端开发中已经...
"jQuery 做的实时图表"是一个使用jQuery和Highcharts插件实现的动态图表解决方案,它允许开发者创建交互式、实时更新的图表,用于展示不断变化的数据。以下是关于这个主题的详细知识讲解。 ### Highcharts简介 ...
VML(Vector Markup Language...总的来说,VML作为早期的矢量图形解决方案,虽然在IE环境中表现出色,但因其局限性,现在已被更广泛的SVG技术所替代。在现代Web开发中,了解SVG和其它跨浏览器的图形解决方案更为重要。
在Tomcat的`conf/server.xml`文件中,你需要找到连接器(Connector)配置,增加`URIEncoding`属性并设置为`UTF-8`。例如: ```xml connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> ``...
当XML包含无限节点层次时,递归函数是理想的解决方案。我们可以编写一个函数,接收当前节点作为参数,然后递归遍历其子节点,直到没有更多子节点为止。同时,记录每个节点的信息,如标签名、属性和值,为构建树形...
3. **没有安装MSXML**:MSXML是用于解析XML文档的组件,虽然与jQuery有关联,但通常不是加载jQuery脚本所必需的。 然而,经过一系列排查,包括更新jQuery库、检查JavaScript代码、调整IE安全设置等,问题的真正原因...
**兼容IE6的挑战与解决方案:** 1. **CSS兼容性**:IE6对CSS2的解析存在很多问题,需要使用条件注释或者专门针对IE6的CSS hack来修复样式问题。 2. **JavaScript支持**:IE6对现代JavaScript语法的支持有限,需要...
在实施解决方案的过程中,需要注意的一点是,正确的字符集对于JSON数据的解析至关重要。如果服务器返回的数据编码和前端指定的字符集不一致,会导致解析错误。因此,在设置`Content-Type`时,必须确保`charset`参数...
在“src”这个压缩包文件中,可能包含了用于重现问题或提供解决方案的源代码。分析这些代码可以帮助我们更深入地理解问题所在,找出修复方法。不过,由于具体的源代码内容未知,我们只能根据标题和描述来推测问题和...