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

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

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

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

一、基本目标

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

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

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

二、制作过程

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程序设计有所帮助。

(0)

相关推荐

  • jQuery中get和post方法传值测试及注意事项

    用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可 以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢? 刚刚做了几个实验,看看下面的代码就清楚了: 以下内容需要回复才能看到 jquery_data.php echo "post: "; print_r($_POST); ec

  • jQuery使用$.get()方法从服务器文件载入数据实例

    本文实例讲述了jQuery使用$.get()方法从服务器文件载入数据.分享给大家供大家参考.具体如下: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.get(

  • jQuery中ajax - get() 方法实例详解

    在jquery中使用get,post和ajax方法给服务器端传递数据,在上篇文章给大家分享了jquery中ajax-post()方法实例,下面通过本文继续学习jQuery中ajax - get() 方法,具体介绍请看下文. jQuery Ajax 参考手册 实例 使用 AJAX 的 GET 请求来改变 div 元素的文本: $("button").click(function(){ $.get("demo_ajax_load.txt", function(resul

  • Jquery中ajax提交表单几种方法(get、post两种方法)

    在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程HTTP ,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方法通过远程 HTTP GET 请求载入信息 格式 $(selector).get(url,data,success(response,status,xhr),dataType

  • jQuery中Ajax的get、post等方法详解

    load()方法通常用来从Web服务器上获取静态的数据文件,然而这并不能体现ajax的全部价值. 在项目中,如果需要传递一些参数给服务器中的页面,那么可以使用$.get()或者$.post()方法(或者是$.ajax()方法) $.get()方法使用GET方式来进行异步请求.结构为:$.get(url [, data] [, callback] [, type]) $.get()方法参数解释如下: 参数名称 类型 说明 url String 请求的HTML页的URL地址 data(可选) Obj

  • JQuery.get提交页面不跳转的解决方法

    代码如下: 复制代码 代码如下: <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"     CodeFile="Default.aspx.cs" Inherits="_Default" %> <asp:Content ID=&quo

  • 快速解决jquery之get缓存问题的最简单方法介绍

    在ie系列下,$.get()方法在url地址固定时,会缓存返回结果,导致不可预料的问题.但在火狐下,则不会缓存. 要解决该问题有很多办法,最直接的是把$.get()方法换成$.ajax(),然后配置cache:false即可.我不喜欢$.ajax()繁琐的配置方式,可采取以下最简单方式实现: 在$.get()的data后面加上新的随机参数,如{data: mydata, stamp: Math.random() },由于每次数据不一样,故请求后返回的数据不会缓存. 另外也可把$.get()改成$

  • jQuery中通过ajax的get()函数读取页面的方法

    首先介绍get()函数: url,[data],[callback],[type] 参数说明: url:待载入页面的URL地址 data:待发送 Key/value 参数. callback:载入成功时回调函数. type:返回内容格式,xml, html, script, json, text, _default. 首先建立testGet.php实例: <?php $web = $_GET['webname']; echo "你现在访问的网站是:".$web; ?> 然见

  • jQuery中get()方法用法实例

    本文实例讲述了jQuery中get()方法用法.分享给大家供大家参考.具体分析如下: 此方法可以返回匹配集合中所有DOM元素的数组或者一个指定索引的DOM元素. 索引值是从0开始的. 说明:从上面的定义可以看出,此方法可以将jQuery对象转换成DOM对象. 语法结构一: 复制代码 代码如下: $(selector).get() 没有参数的时候会取得所有匹配的DOM元素的数组. 实例代码: 复制代码 代码如下: <!DOCTYPE html> <html> <head>

  • jQuery中get方法用法分析

    本文实例讲述了jQuery中get方法用法.分享给大家供大家参考,具体如下: 参数:url,[data],[callback],[type] url 待载入页面的URL地址. data 待发送 Key/value 参数. callback 载入成功时回调函数. type 返回内容格式,xml, html, script, json, text, _default. 案例1 表单代码: <form id="form1" action="#"> <p&

  • jquery中get,post和ajax方法的使用小结

    在JQuery中可以使用get,post和ajax方法给服务器端传递数据 get方法的使用(customForGet.js文件): function verify(){//1.获取文本框的数据 //通过DOM的方式获取//document.getElementByIdx("userName");//通过JQuery的方式获取var jqueryObj = $("#userName");//获取节点的值var userName = jqueryObj.val(); /

  • jQuery中ajax的get()方法用法实例

    本文实例讲述了jQuery中ajax的get()方法用法.分享给大家供大家参考.具体分析如下: $.get()通过 HTTP GET请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.get(url, [data], [callback], [type]); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,待发送 Key/value 参数. 3.callback:可选,请求成功后所执行的回调函数. 4.type:可选,返回内容格式,xml, html, scri

随机推荐