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 相关文章推荐
textarea焦点的用法实现获取焦点清空失去焦点提示效果
May 19 Javascript
angular简介和其特点介绍
Jan 29 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
Jul 11 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 Javascript
vue语法自动转typescript(解放双手)
Sep 18 Javascript
解决ant Design中Select设置initialValue时的大坑
Oct 29 Javascript
微信小程序scroll-view不能左右滑动问题的解决方法
Jul 09 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
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
php微信开发之谷歌测距
2018/06/14 PHP
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
angular 服务随记小结
2019/05/06 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
Python实现二分查找与bisect模块详解
2017/01/13 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
Python 必须了解的5种高级特征
2020/09/10 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
PHP面试题集
2016/12/18 面试题
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
2014年最新学习全国两会精神心得
2014/03/17 职场文书
职工年度考核评语
2014/12/31 职场文书
给老师的一封感谢信
2015/01/20 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
银行自荐信范文
2015/03/25 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
基于Redis过期事件实现订单超时取消
2021/05/08 Redis