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 相关文章推荐
jQuery中filter(),not(),split()使用方法
Jul 06 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
js中iframe调用父页面的方法
Oct 30 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
Aug 01 Javascript
简单实现js点击展开二级菜单功能
May 16 Javascript
React学习笔记之事件处理(二)
Jul 02 Javascript
微信小程序获取手机系统信息的方法【附源码下载】
Dec 07 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
ES6新增的数组知识实例小结
May 23 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防注入安全代码
2008/04/09 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
学习php分页代码实例
2013/10/24 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
简单实现PHP留言板功能
2016/12/21 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python开发的实用计算器完整实例
2017/05/10 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python实现Restful API的例子
2019/08/31 Python
使用python脚本自动创建pip.ini配置文件代码实例
2019/09/20 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
写给女生的道歉信
2014/01/08 职场文书
法学自荐信
2014/06/20 职场文书
超市收银员岗位职责
2015/04/07 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL