`
zpx138332
  • 浏览: 45819 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类

解决浏览器兼容问题(对上篇文章的补充)

阅读更多
上篇文章只能使用在IE上,而对火狐,opera不适用,这篇文章为解决这个问题而发

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>testcity.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
window.onload = function() {
var xmlDao;
var bool_IE= (window.ActiveXObject ? true : false);
if(bool_IE){
//针对的是IE浏览器 创建一个空的微软 XML 文档对象
xmlDao = new ActiveXObject("Microsoft.XMLDOM");
}else{
//在 Firefox 及其他浏览器中的 XML 解析器
//创建一个空的 XML 文档对象。

xmlDom = document.implementation.createDocument("", "", null);
}

//关闭异步加载,这样确保在文档完全加载之前解析器不会继续脚本的执行
xmlDom.async = false;

//加载city.xml文档
xmlDom.load("city.xml");
//获取xml文档中的跟节点
var root = xmlDom.documentElement;

//获取xml文档中根节点的所有子节点
var sheng = root.childNodes;

//获取Htlm中province标签对象
var province = document.getElementById("province");

for ( var i = 0; i < sheng.length; i++) {
    if(sheng[i].nodeType == 1){//判断是否是空格 回车 等

//获取xml文档中的省节点的name值
var name = sheng[i].getAttribute("name");
           
//创建标签option
var op = document.createElement("option");

//创建一个文本节点,文本节点的值为xml文档中的省节点的name值并将文本节点添加到option节点中
op.appendChild(document.createTextNode(name));

//将option节点添加到province节点中
province.appendChild(op);
}
  }
//获取Htlm中标签ID为cities的对象
var city = document.getElementById("cities");

//为省创建事件
province.onclick = function() {

//获取Htlm中标签ID为province的对象
var province = document.getElementById("province");

//获取province中所有option标签对象
var pro = province.options;
//获取所选中的标签对象
var opre = pro[province.selectedIndex];

//获取其中文本的值
var name = opre.innerHTML;

for ( var i = 0; i < sheng.length; i++) {
        if(sheng[i].nodeType == 1){//判断是否是空格 回车 等
//获取省节点中所有的子节点
var name1 = sheng[i].getAttribute("name");
//判断选中的值跟省节点中某一个子节点是否相等
if (name1 == name) {

//每次改变的时候清空
city.length = 1;

//获取xml文档中某一个省节点中所有的子节点
var cit = sheng[i].childNodes;

for ( var j = 0; j < cit.length; j++) {
if(cit[j].nodeType == 1){//判断是否是空格 回车 等
//创建标签option
var pt = document.createElement("option");

//创建一个文本节点,文本节点的值为xml文档中的省节点中某一个子节点的第一个子节点的name值并将文本节点添加到option节点中
pt.appendChild(document
.createTextNode(cit[j].firstChild.nodeValue));

//将option节点添加到city节点中
city.appendChild(pt);
                   }
}

}
}

}

}
}
</script>

</head>

<body>

<h1>
解析xml文件实现省市级联下拉菜单
</h1>

<div>

<span> <select id="province" name="province">
<option>
请选择省
</option>
</select> </span>

<span> <select id="cities" name="city">
<option>
请选择相应省下面的市
</option>
</select> </span>

</div>
</body>
</html>
分享到:
评论

相关推荐

    IE7.JS解决IE兼容性问题方法

    标题 "IE7.JS解决IE兼容性问题方法" 指的是使用一个名为 "IE7.JS" 的脚本库来解决Internet Explorer浏览器的兼容性问题。IE7.JS是开源社区开发的一个JavaScript库,其目标是通过模拟缺失的功能和修复已知的错误,...

    浏览器检测JS代码(兼容目前各大主流浏览器)

    5. 浏览器兼容性解决方案:一旦我们知道了用户的浏览器类型和版本,我们就可以采取相应的措施来确保我们的网站或应用能够正确地在这些浏览器上运行。比如,对于老旧的浏览器版本,可能需要使用特定的JavaScript语句...

    详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)

    本文详细介绍了在使用Vue和iView框架开发Web应用时,针对IE浏览器不兼容的问题及其解决办法。...通过本篇文章提供的方法,我们可以确保Vue iview在IE浏览器中的兼容性,从而扩展Web应用的用户覆盖范围。

    jquery验证框架学习教程

    总结来说,通过阅读这篇文章,开发者能够学到如何安装和引入jQuery,如何编写基础的jQuery代码,以及如何利用jQuery实现高效的代码编写和跨浏览器的兼容性解决方案。此外,开发者还将学会如何使用jQuery来美化用户...

    The Book of CSS3 (2nd Edition)

    2. 浏览器兼容性问题:尽管CSS3提供了众多强大的功能,但浏览器实现的一致性问题可能会造成困扰。因此,理解不同浏览器对CSS3的支持程度非常重要。 3. 新版CSS3特性:本书介绍了CSS3新增特性,如渐变、网格布局、...

    解决webview 第二次调用loadUrl页面不刷新的问题

    解决 webview 第二次调用 loadUrl 页面不刷新的问题 ...本篇文章提供了解决 webview 第二次调用 loadUrl 页面不刷新的问题的方法,并对 WebView 的使用进行了补充知识的介绍,希望对大家有所帮助。

    用HTML5.0制作网页的教程

    虽然新元素和功能带来了许多好处,但也要考虑目标用户群体的浏览器兼容性。随着现代浏览器的普及,HTML5的使用越来越广泛,但为了覆盖更广泛的用户,可能需要结合传统技术进行过渡。 总的来说,HTML5为网页开发提供...

    eWebEditorActiveXInstall.exeewebeditor功能插件

    对于不再支持ActiveX的环境,用户可能需要寻找这些替代解决方案,以确保跨平台和多浏览器兼容性。 总之,eWebEditorActiveXInstall.exe 插件是eWebEditor编辑器的一个强大补充,提升了网页编辑的效率和便利性。然而...

    利用js实现禁止复制文本信息

    这种方式只在Firefox浏览器中生效,因此它补充了上述JavaScript方法无法覆盖的浏览器兼容性问题。这样一来,无论用户使用的是IE还是Firefox,都无法通过鼠标操作来复制网页中的文本信息。 尽管上述方法可以有效地...

    JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)

    这篇文章主要讨论了如何使用JavaScript和Html5技术在网页上实现此功能,同时考虑到手机网页的兼容性问题。 首先,文章提到了一个流行的JavaScript库——clipboard.js。这个库专门用于简化在网页上实现复制到剪切板...

    网站网页源码模板 (118).zip

    7. **浏览器兼容性**: - 开发者在设计模板时会考虑主要浏览器的兼容性,确保网站在不同的浏览器(如Chrome、Firefox、Safari和Edge)上正常运行。 综上所述,"网站网页源码模板 (118).zip" 提供了创建全功能网站...

    spring websocket

    SockJS是WebSocket的跨浏览器兼容层,当WebSocket不被浏览器支持时,它会自动降级为其他实时传输方式,如JSONP、IFrame等,确保在所有现代浏览器上都能工作。 6. **WebSocket消息处理** - `WebSocketSession`接口...

    互评-Team7-软件测试计划书-问题清单1

    本篇文章将针对标题"互评-Team7-软件测试计划书-问题清单1"所提及的问题进行详细分析,并探讨如何改进测试策略,确保软件的全面性和稳定性。 首先,问题清单指出,虽然每个模块的功能测试都没有问题,但这并不意味...

    Ajax 改造第 1 部分使用 Ajax 和 jQuery 改进现有站点

    总的来说,这篇文章教给读者如何利用Ajax和jQuery来改进现有网站,特别是通过模式对话框提高用户体验和简化导航,同时遵循渐进增强的原则,确保网站的可访问性和兼容性。对于开发者而言,这是一个实用的指南,帮助...

    Ajax中要注意的问题

    - **使用库和框架**:例如jQuery、Axios等,这些工具已经解决了大部分浏览器兼容性问题。 - **检测和回退**:编写代码时考虑到各种情况,并提供备选方案。 ### 总结 通过上述讨论可以看出,虽然Ajax技术为Web开发...

    javascript下string.format函数补充

    这种方法虽然古老,但能有效地解决跨浏览器兼容性问题。 总之,在JavaScript编程实践中,了解和掌握`String.format`的参数限制和`Array.prototype.slice`的使用,对于处理字符串格式化和数组操作尤为关键。在涉及类...

    补丁DD8.0-121102-12年11月02日--重要

    6. **IE6兼容性**:解决了宝贝详情页在IE6浏览器下的显示问题。 7. **文字提示修改**:调整了获取返利时的文字提示。 8. **注册用户名长度限制**:改进了注册时用户名长度的限制方式。 9. **session处理**:修复了...

    Discuz! X2 R20120628 简体UTF-8.zip

    FIX 因input的autofocus属性导致在chrome浏览器中自动跳转到顶部的问题 FIX QQ互联feedlog 表同步到空间和微博的 status合并 FIX 优化QQ互联微博签名档和解绑功能 FIX 管理面板删帖不进回收站...

Global site tag (gtag.js) - Google Analytics