JQuery解析HTML、JSON和XML实例详解


Posted in Javascript onMarch 29, 2014

1、HTML

有的时候会将一段HTML片段保存在HTML文件中,在另外的主页面直接读取该HTML文件,然后解析里面的HTML代码片段融入到主页面中。

fragment.html文件,其内容:

<div>hello Jquery</div>

在主页面
Test.html中解析代码

$("#a1").click(function(){  

   $("#div2").load('fragment.html');  

   return false;  

});[code]
2、JSON
JSON文件是test.json,其内容:

[code]

[{"name":"jim","age":"20"},{"name":"lily","age":"18","hobby":["swim","movie"]}]

在主页面
Test.html中解析代码

$("#a2").click(function(){  

        $.getJSON('test.json',function(data){  

            var html = '<table>';  

            $.each(data,function(entryIndex,entry){  

                html += '<tr><td>'+entry.name+'</td><td>'+entry.age+'</td>';  

                if(entry.hobby){  

                    html += '<td>';  

                    $.each(entry.hobby, function(lineindex,line) {  

                        html += line+",";  

                    });  

                    html += '</td>';  

                }  

                  

                html += '</tr>';  

            });  

            html += '</table>';  

            $("#div2").html(html);  

            return false;  

       });  

    }); 

3、XML
XML文件是test.xml,其内容是:
<?xml version="1.0" encoding="utf-8" ?>  

<root>  

    <book id="1">  

        <name>深入浅出extjs</name>  

        <author>张三</author>  

        <price>88</price>  

    </book>  

    <book id="2">  

        <name>锋利的jQuery</name>  

        <author>李四</author>  

        <price>99</price>  

    </book>  

    <book id="3">  

        <name>深入浅出flex</name>  

        <author>王五</author>  

        <price>108</price>  

    </book>  

    <book id="4">  

        <name>java编程思想</name>  

        <author>钱七</author>  

        <price>128</price>  

    </book>  

</root> 

在主页面
Test.html中解析代码
$("#a3").click(function(){  

        $.get('test.xml',function(data){  

            var s="";  

            $(data).find('book').each(function(i){  

                var id=$(this).attr('id');  

                var name=$(this).children('name').text();  

                var author=$(this).children('author').text();  

                var price=$(this).children('price').text();  

                s+=id+"    "+name+"    "+author+"    "+price+"<br>";  

            });  

            $('#div2').html(s);  

        });  

    }); 

对JQuery解析不同文档做了一个Demo,Test.html的原码是
<html xmlns="http://www.w3.org/1999/xhtml">  

<head runat="server">  

    <title></title>  

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

    <script type="text/javascript" src="jquery.js"></script>  

    <script type="text/javascript">  

    

 $(function(){  

    $("#a1").click(function(){  

       $("#div2").load('fragment.html');  

       return false;  

    });  

      

    $("#a2").click(function(){  

        $.getJSON('test.json',function(data){  

            var html = '<table>';  

            $.each(data,function(entryIndex,entry){  

                html += '<tr><td>'+entry.name+'</td><td>'+entry.age+'</td>';  

                if(entry.hobby){  

                    html += '<td>';  

                    $.each(entry.hobby, function(lineindex,line) {  

                        html += line+",";  

                    });  

                    html += '</td>';  

                }  

                  

                html += '</tr>';  

            });  

            html += '</table>';  

            $("#div2").html(html);  

            return false;  

       });  

    });$("#a3").click(function(){  

        $.get('test.xml',function(data){  

            var s="";  

            $(data).find('book').each(function(i){  

                var id=$(this).attr('id');  

                var name=$(this).children('name').text();  

                var author=$(this).children('author').text();  

                var price=$(this).children('price').text();  

                s+=id+"    "+name+"    "+author+"    "+price+"<br>";  

            });  

            $('#div2').html(s);  

        });  

    });  

});   

               

    </script>  

</head>  

<body>  

    <form id="form1" runat="server">  

    <ul id="div1">  

        <li><a id="a1" href="#">show html fragment</a></li>  

        <li><a id="a2" href="#">show json</a></li>  

        <li><a id="a3" href="#">show xml</a></li>  

    </ul>  

        <p>Show Content:</p>  

    <div id ="div2"></div>  

    </form>  

    <div>  

      

</div>  

</body>  

</html> 

利用FireFox浏览器打开该Test.html文件,效果如下

JQuery解析HTML、JSON和XML实例详解

点第一个超链接会在Show Content区域显示新插入的html片段

JQuery解析HTML、JSON和XML实例详解

点第二个超链接,会显示json数据:

JQuery解析HTML、JSON和XML实例详解

点第三个超链接,会显示xml数据:

JQuery解析HTML、JSON和XML实例详解

Javascript 相关文章推荐
如何让浏览器支持jquery ajax load 前进、后退功能
Jun 12 Javascript
Javascript中数组sort和reverse用法分析
Dec 30 Javascript
Javascript中setTimeOut和setInterval的定时器用法
Jun 12 Javascript
跟我学习javascript的异步脚本加载
Nov 20 Javascript
Javascript实现鼠标框选操作  不是点击选取
Apr 14 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
Feb 19 Javascript
JavaScript对象引用与赋值实例详解
Mar 15 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
js表达式与运算符简单操作示例
Feb 15 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
Nov 03 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
Mar 28 #Javascript
javascript修改IMG标签的src问题
Mar 28 #Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 #Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 #Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 #Javascript
js如何调用qq互联api实现第三方登录
Mar 28 #Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
Mar 28 #Javascript
You might like
php实现的ping端口函数实例
2014/11/12 PHP
Laravel5中contracts详解
2015/03/02 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
javascript add event remove event
2008/04/07 Javascript
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
移动节点的jquery代码
2014/01/13 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
BootStrap入门学习第一篇
2017/08/28 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
解决vue-quill-editor上传内容由于图片是base64的导致字符太长的问题
2018/08/20 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
Python Trie树实现字典排序
2014/03/28 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
Anaconda下安装mysql-python的包实例
2018/06/11 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
Python实现GIF图倒放
2020/07/16 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
党组织公开承诺书
2014/03/29 职场文书
文明倡议书范文
2014/04/15 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
使用pytorch实现线性回归
2021/04/11 Python
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle