jQuery通过控制节点实现仅在前台通过get方法完成参数传递


Posted in Javascript onFebruary 02, 2015

本文实例讲述了jQuery通过控制节点实现仅在前台通过get方法完成参数传递。分享给大家供大家参考。具体分析如下:

这样也是HTML DOM那部分的内容,javascript与jquery等前端脚本语言的核心就是要控制每一个节点,对每一个节点进行增删改查,这样才能够真正地活用javascript与jquery等前端脚本写出一个又一个华丽丽的东西。

javascript控制节点,笔者已经在之前的【JavaScript针对网页节点的增删改查用法实例】有过相关介绍,现在是通过jquery这一javascript进阶的脚本语言,来控制节点,并且在此基础上,使用jquery来在不同网页间传递参数,仅在前台通过get方法完成参数传递,挂到服务器,不需要jsp与asp,写一些request等服务器语言来获取参数。

一、基本目标

在网页中有存在于黑色div-红色div-蓝色p之下的span节点,一旦点击,则分别获取其上面节点的id

jQuery通过控制节点实现仅在前台通过get方法完成参数传递

点击增加按钮可以增加超级链接节点,其中每一个超级链接都带有中文参数你好1,你好2,你好3……,而且滚动条自动随节点的增加而滚动,向jqrec.html传递,这个你好x参数,jqrec.html页面能够获取到这个中文参数

jQuery通过控制节点实现仅在前台通过get方法完成参数传递

jQuery通过控制节点实现仅在前台通过get方法完成参数传递

点击清空按钮可以清空ul下面的所有节点

jQuery通过控制节点实现仅在前台通过get方法完成参数传递

二、制作过程

jqrec.html全代码如下,所使用的函数,涉及到分析url地址的正则表达式,不用细究。真正作用的代码则只有,$("#rec").text(unescape(getUrlParam("text")));

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

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

<title>jqrec</title>  

<script src="js/jquery-1.11.1.js"></script>  

</head>  

<body>  

<p>  

你点击的链接是:<strong><span id="rec" style="color:#F00;"></span></strong>,这与浏览器上的get方法传过来的text参数完全相同~  

</p>  

<p>  

text上传递的参数是中文来的哦,需要结果译码解码~  

</p>  

<p>  

<a href="./jqsend.html">返回jqsend.html再试一次~</a>  

</p>  

</body>  

</html>  

<script>  

/*此函数配合unescape函数能够对url上get方法传递过来的utf-8元素进行解码*/  

function getUrlParam(name)  

{  

var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");   

var r = window.location.search.substr(1).match(reg);    

if (r!=null) return unescape(r[2]); return null;   

}   

$(function() {  

    $("#rec").text(unescape(getUrlParam("text")));  

    });  

</script>

jqsend.html全代码如下,具体代码请看注释:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

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

<title>jqsend</title>  

<script src="js/jquery-1.11.1.js"></script>  

</head>  

  

<!--html部分,设计一个复杂的图层,里面包含着四重节点,也就是节点树四层-->  

<body>  

  

<div id="fatherdiv2" style="border:solid;border-color:#000">  

<div id="fatherdiv" style="border:solid;border-color:#f00">  

<p id="fatherp" style="border:solid;border-color:#00f">  

<span id="findmyfather">  

我的父节点  

</span>  

</p>  

</div>  

</div>  

<br />  

  

<!--两个按钮-->  

<button id="add">增加</button>  

<button id="clear">清空</button>  

<!--用来存放增加的超链接列表-->  

<ul id="testul"></ul>  

</body>  

</html>  

<script>  

/*$(function(){});相当于$(document).ready(function (){});函数,一载入,就执行的主函数*/  

$(function() {  

     /*计数id*/  

     var id=0;  

     /*add按钮点击事件*/  

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

            id=id+1;  

            var li="<li id=\"id" +id.toString()+ "\"><a></a></li>";  

            /*在testul列表中,增加如上所述的li节点*/  

            $("#testul").append(li);  

            /*寻找新增的id为idx(其中x为计数器var id的值)的li节点下的a节点,并且把其中的元素修改为你好x,jquery里面的.html相当于javascript里面的innerHTML*/  

            $("#id"+id.toString()).find("a").html("你好"+id);  

            /*设置此a元素的href属性为,jqrec.html=“你好”+id,由于链接中不可以带中文,所以用两次escape将其编码为utf-8编码,用一次会出现bug,后面的unescape获取不了,不知道为什么*/  

            $("#id"+id.toString()).find("a").attr("href","./jqrec.html?text="+escape(escape("你好"+id)));  

            /*设置滚动条随着testul的所在高度滚动,这段代码在ie8以下会失效*/  

            $("body").scrollTop($("#testul").height());  

         });  

     /*clear按钮点击事件*/   

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

            /*把testul下面的所有元素清空,计数器清零*/   

            $("#testul").empty();  

            id=0;  

        });  

     /*findmyfather行内文本点击事件*/  

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

         /*this代表被按的findmyfather,取其上一级父节点的id*/  

         thisid=$(this).parents().attr("id");  

         alert("我的父节点是:"+thisid);  

         /*这样可以往前寻找第一个div元素的id*/  

         thisid=$(this).parents("div").attr("id");  

         alert("我的第一个div父节点是:"+thisid);  

         /*这样可以往前寻找第二个div元素的id*/  

         thisid=$(this).parents("div").parents("div").attr("id");  

         alert("我的第二个div父节点是:"+thisid);  

         });          

    });  

</script>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript实现动态标签云
Oct 16 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 Javascript
JavaScript中的对象继承关系
Aug 01 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
bootstrap datepicker插件默认英文修改为中文
Jul 28 Javascript
jQuery创建及操作xml格式数据示例
May 26 jQuery
react 国际化的实现代码示例
Sep 14 Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
May 11 Javascript
JS异步堆栈追踪之为什么await胜过Promise
Apr 28 Javascript
jQuery循环动画与获取组件尺寸的方法
Feb 02 #Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 #Javascript
JavaScript对数字的判断与处理实例分析
Feb 02 #Javascript
JavaScript组件焦点与页内锚点间传值的方法
Feb 02 #Javascript
JavaScript分秒倒计时器实现方法
Feb 02 #Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 #Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 #Javascript
You might like
php反射应用示例
2014/02/25 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
tangram框架响应式加载图片方法
2013/11/21 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python 第三方库的安装及pip的使用详解
2017/05/11 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
python将音频进行变速的操作方法
2020/04/08 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
员工评语大全
2014/01/19 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
校本课程教学计划
2015/01/19 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
工程催款通知书
2015/04/17 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
MySQL 全文检索的使用示例
2021/06/07 MySQL