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中防刷IP流量软件影响统计的一点对策
Jul 10 Javascript
动态获取复选框checkbox选中个数的jquery代码
Jun 25 Javascript
js监听鼠标事件控制textarea输入字符串的个数
Sep 29 Javascript
详解JavaScript中基于原型prototype的继承特性
May 05 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 Javascript
JavaScript解析JSON格式数据的方法示例
Jan 24 Javascript
js中document.write和document.writeln的区别
Mar 11 Javascript
VUE基于NUXT的SSR 服务端渲染
Nov 30 Javascript
vue实现标签云效果的方法详解
Aug 28 Javascript
基于javascript实现日历功能原理及代码实例
May 07 Javascript
JS forEach跳出循环2种实现方法
Jun 24 Javascript
.netcore+vue 实现压缩文件下载功能
Sep 24 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
网站当前的在线人数
2006/10/09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
python中的一些类型转换函数小结
2013/02/10 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
python中图像通道分离与合并实例
2020/01/17 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
"引用"与指针的区别是什么
2016/09/07 面试题
幼师自荐信范文
2013/10/06 职场文书
司机辞职报告范文
2014/01/20 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
详解flex:1什么意思
2022/07/23 HTML / CSS