【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一、JQuery中样式的操作
1.给id=mover的div采用属性增加样式.one
$("#b1").click(function(){
$("#mover").attr("class","one");
});
2.给span块使用addClass增加样式.one
$("#b2").click(function(){
$("span").addClass("one");
});
3.给id=mover的div块使用removeClass移除.one样式
$("#b3").click(function(){
$("#mover").removeClass("one");
});
4.id=mover的div块切换样式.one:切换样式是原有样式和添加新样式之间进行切换,并非是在添加两个新样式之后在两个新样式之间进行切换。
$("#b4").click(function(){
$("#mover").toggleClass("one");
});
5.判断span元素是否有spanone样式
$("#b5").click(function(){
var result=$("span").first().hasClass("spanone");
alert(result);
});
6.完整代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ddd</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
<style type="text/css">
.one{
width: 200px;
height: 140px;
margin: 40px;
background: red;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
} div,span{
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
} /* div.mini{
width: 30px;
height: 30px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
} */
</style>
<!--引入jquery的js库-->
</head>
<body>
<input type="button" value="给id=mover的div采用属性增加样式.one" id="b1"/>
<input type="button" value=" 给span块使用addClass增加样式.one" id="b2"/>
<input type="button" value="给id=mover的div块使用removeClass移除.one样式" id="b3"/>
<input type="button" value=" id=mover的div块切换样式.one" id="b4"/>
<input type="button" value=" hasClass:判断span元素是否有spanone元素" id="b5"/> <h1>天气冷了</h1>
<h2>天气又冷了</h2> <br>
<div id="mover">
动画
</div>
<br>
<span class="spanone"> span
</span> </body>
<script type="text/javascript">
//<input type="button" value="给id=mover的div采用属性增加样式.one" id="b1"/>
$("#b1").click(function(){
$("#mover").attr("class","one");
});
//<input type="button" value=" 给span块使用addClass增加样式.one" id="b2"/>
$("#b2").click(function(){
$("span").addClass("one");
}); //<input type="button" value="给id=mover的div块使用removeClass移除.one样式" id="b3"/>
$("#b3").click(function(){
$("#mover").removeClass("one");
}); //<input type="button" value=" id=mover的div块切换样式.one" id="b4"/>
$("#b4").click(function(){
$("#mover").toggleClass("one");
}); //<input type="button" value=" hasClass:判断span元素是否有spanone样式" id="b5"/>
$("#b5").click(function(){
var result=$("span").first().hasClass("spanone");
alert(result);
});
</script>
</html>
CSS_CRUD.html
二、JQuery中的Ajax操作
1.JQuery对Ajax操作进行了封装,第一层封装是$.ajax(),第二层封装是load(),$.get(),$.post(),第三层封装是$.getScript(),$.getJSON()。
2.load()方法:载入远程HTML文件代码,并插入到DOM中。
(1)调用形式:load(url,[data],[callback]);
(2)参数说明:
url:请求的网址
data:浏览器请求的数据
callback:回调函数,有三个参数:代表请求返回内容的data、代表请求状态的textStatus对象(其值可能是success/error/notmodify/timeout四种中的其中一种)以及XMLHttpRequest对象
(3)使用细节:如果只想加载目标HTML中的其中一部分,则需要选择器进行筛选,使用方法:url空格selector;该方法若客户端有参数传递则使用POST方法请求,否则使用GET方式请求。
(4)使用案例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ddd</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js">
</script>
<style type="text/css">
div, span {
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float: left;
font-size: 17px;
font-family: Roman;
} div.mini {
width: 30px;
height: 30px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family: Roman;
} div.visible {
display: none;
}
</style>
<!--引入jquery的js库-->
</head>
<body>
<form action="" name="form1" id="form1">
<input type="text" name="username" id="username" value="zhang">
<br>
<input type="text" name="psw" id="psw" value="99999">
<br>
<input type="button" id="b1" value="登陆">
</form>
<div id="one">
</div>
</body>
<script type="text/javascript">
$("#b1").click(function(){
var username=$("#username").val();
var psw=$("#psw").val();
$("#one").load("./load01.jsp","username="+username+"&psw="+psw,function(data,textStatus,xmlHttpRequest){
alert(data);
alert(textStatus);
alert(xmlHttpRequest);
});
});
</script>
</html>
load01.html
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println("有新的请求消息!");
String username=request.getParameter("username");
String psw=request.getParameter("psw");
System.out.println("用户名:"+username);
System.out.println("密码:"+psw);
out.println("你好,客户端!");
%>
load01.jsp
两个文件在同一个目录下。
运行结果:


3.$.get()方法:这是一个简单的GET请求功能以取代复杂的$.ajax,请求成功的时候调用回调函数,如果请求失败的时候需要调用函数则使用$.ajax
(1)格式:jQuery.get(url,[data],[callback],[type]),返回值是XMLHttpRequest
参数说明:url:请求的URL地址
data:请求的参数,可以使用json格式的数据
callback:回调函数,格式见load()
type:返回内容格式,可能是[xml/html/script/json/text/_default]中的其中一种。
(2)回调函数格式:function(data,textStatus),也就是说,回调函数只有两个参数,和上面的load方法中的四种参数不同。
(3)案例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ddd</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
<style type="text/css">
div,span{
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
} div.mini{
width: 30px;
height: 30px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
} div.visible{
display:none;
}
</style>
<!--引入jquery的js库--> </head> <body>
<form action="" name="form1" id="form1">
<input type="text" name="username" id="username" value="zhang"><br>
<input type="text" name="psw" id="psw" value="99999"><br>
<input type="button" id="b1" value="登陆">
</form> <div id="one">
</div> </body>
<script type="text/javascript">
$("#b1").click(function(){
var username=$("#username").val();
var password=$("#psw").val();
var xmlHttpRequest=$.get("./get.jsp","username="+username+"&password="+password+"",function(data,textStatus){
alert(data);
alert(textStatus);
});
alert(xmlHttpRequest);
});
</script>
</html>
get.html
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println("有新的请求消息!");
String username=request.getParameter("username");
String password=request.getParameter("password");
System.out.println(request.getMethod());
System.out.println("用户名:"+username);
System.out.println("密码:"+password);
out.println("你好,客户端!");
%>
get.jsp
两个文件在同一个目录中


4$.post()方法:用法和$.get方法完全相同,但是使用的请求方式是POST。
5.序列化元素
(1)简介:JQuery为准备“发送到服务器的key/value数据”,提供了一个简化的方法:serialize(),该方法用于一个JQuery对象,能将DOM元素内容序列化为字符串,用于Ajax请求。
(2)使用方法:selector.serialize()。
(3)使用serialize()方法可以自动完成对参数的url编码。
(4)案例:对之前的GET请求方式稍作修改
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>ddd</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
<style type="text/css">
div,span{
width: 140px;
height: 140px;
margin: 20px;
background: #9999CC;
border: #000 1px solid;
float:left;
font-size: 17px;
font-family:Roman;
} div.mini{
width: 30px;
height: 30px;
background: #CC66FF;
border: #000 1px solid;
font-size: 12px;
font-family:Roman;
} div.visible{
display:none;
}
</style>
<!--引入jquery的js库--> </head> <body>
<form action="" name="form1" id="form1">
<input type="text" name="username" id="username" value="zhang"><br>
<input type="text" name="psw" id="psw" value="99999"><br>
<input type="button" id="b1" value="登陆">
</form> <div id="one">
</div> </body>
<script type="text/javascript">
$("#b1").click(function(){
/* var username=$("#username").val();
var password=$("#psw").val(); */
var xmlHttpRequest=$.post("./get.jsp",$("#form1").serialize(),function(data,textStatus){
alert(data);
alert(textStatus);
});
alert(xmlHttpRequest);
});
</script>
</html>
Serialize_Demo.html
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println("有新的请求消息!");
String username=request.getParameter("username");
String password=request.getParameter("psw");
System.out.println(request.getMethod());
System.out.println("用户名:"+username);
System.out.println("密码:"+password);
out.println("你好,客户端!");
%>
get.jsp
注意,这里已经换成了POST的请求方式。
封装好的数据发送到服务器端的时候服务器使用表单中给的name属性获取表单中的值。
三、JQuery中的XML操作
1.JQuery中可以使用$.get()或者$.post()方法来加载xml。
2.JQuery解析XML和解析DOM一样同样可以使用find(),children(),等函数来解析和使用each()方法来进行遍历
3.JQuery小练习:二级菜单联动
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test01.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
</head>
<body>
<select id="province" name="province">
<option value="">请选择....</option>
</select>
<select id="city" name="city">
<option value="">请选择.....</option>
<option value="铁岭">铁岭</option>
</select>
</body>
<script type="text/javascript">
$().ready(function(){
//页面载入的时候加载第一级菜单
$.get("cities.xml",function(xml){
$xml=$(xml);
$children=$xml.find("province");
$children.each(function(index,domEle){
$city=$("<option></option>");
$city.val($(domEle).attr("name"));
$city.text($(domEle).attr("name"));
$("#province").append($city);
});
});
});
$("#province").change(function(){
$("#city option:gt(0)").remove();
$val=$("#province").val();
$.get("cities.xml",function(xml){
$xml=$(xml);
$children=$xml.find("province");
$children.each(function(index,domEle){
$province_name=$(domEle).attr("name");
if($val==$province_name){
//接下来遍历该省份中的city
$(domEle).children().each(function(index,cityDom){
var $city_name=$(cityDom).text();
var $city=$("<option></option>");
$city.val($city_name);
$city.text($city_name);
$("#city").append($city);
});
return;
}
});
});
});
</script>
</html>
city.html
<?xml version="1.0" encoding="GB2312"?>
<china>
<province name="吉林省">
<city>长春</city>
<city>吉林市</city>
<city>四平</city>
<city>松原</city>
<city>通化</city>
</province>
<province name="辽宁省">
<city>沈阳</city>
<city>大连</city>
<city>鞍山</city>
<city>抚顺</city>
<city>铁岭</city>
</province>
<province name="山东省">
<city>济南</city>
<city>青岛</city>
<city>威海</city>
<city>烟台</city>
<city>潍坊</city>
</province>
</china>
cities.xml
运行结果:


4.小知识点:使用remove方法删除select下的指定option选项。
【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】的更多相关文章
- 【Java EE 学习 32 上】【JQuery】【选择器】
一.JQuery简介 1.JQuery是JavaScript库,封装了很多预定义对象和实用函数. 2.JQury的优势: (1)简洁,其宗旨就是写更少的代码做更多的事. (2)文档声明非常全面:htt ...
- 【Java EE 学习 74 上】【数据采集系统第六天】【使用Jfreechart的统计图实现】【Jfreechart的基本使用方法】
之前已经实现了数据的采集,现在已经有了基本的数据,下一步就需要使用这些数据实现统计图的绘制了.这里使用Jfreechart实现这些统计图的绘制.首先看一下Jfreechart的基本用法,只有知道了它的 ...
- 【Java EE 学习 80 上】【WebService】
一.WebService概述 什么是WebService,顾名思义,就是基于Web的服务,它使用Http方式接收和响应外部系统的某种请求,从而实现远程调用.WebService实际上就是依据某些标准, ...
- 【Java EE 学习 79 上】【mybatis 基本使用方法】
一.简介 mybatis类似于hibernate,都是简化对数据库操作的框架,但是和hibernate不同的是,mybatis更加灵活,整体来说框架更小,这体现在它需要我们手写SQL语句,而hiber ...
- 【Java EE 学习 25 上】【网上图书商城项目实战】
一.概述 1.使用的jdk版本:1.6 2.java EE版本:1.6 3.指导老师:传智播客 王建 二.小项目已经实现的功能 普通用户: 1.登陆 2.注册 3.购物 4.浏览 管理员用户(全部管理 ...
- 【Java EE 学习 72 上】【数据采集系统第四天】【增加调查logo】【文件上传】【动态错误页指定】【上传限制】【国际化】
增加logo的技术点:文件上传,国际化 文件上传的功能在struts2中是使用文件上传拦截器完成的. 1.首先需要在页面上添加一个文件上传的超链接. 点击该超链接能够跳转到文件上传页面.我给该表单页面 ...
- 【Java EE 学习 49 上】【Spring学习第一天】【基本配置】
一.HelloWorld 需要的jar文件(以2.5.5为例):spring.jar,common-logging.jar 1.新建类com.kdyzm.spring.helloworld.Hello ...
- 【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm ...
- 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】
一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...
随机推荐
- Android 手机怎么录屏制成gif图片
参考:http://www.cnblogs.com/dasusu/p/4903511.html 上面的博主说的很详细了,但作为学习记录我就重新写一遍帮助自己加深记忆 一.准备条件 1.你搭建了Andr ...
- js判断用户的浏览设备是移动设备还是PC
<script type="text/javascript"> function browserRedirect() { var sUserAgent = naviga ...
- input-placeholder
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #f00; } ::-moz-placeholder { /* Mozilla Fir ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- 动态规划(DP)基础
DP基础 简单dp 背包问题 记忆化搜索 简单dp 数字三角形 给一个数字构成的三角形,求从顶端走到底部的一条路径,使得路径上的和最大(或者最小). 1 2 3 6 5 4 Example_1 7 3 ...
- Python Day2
一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 新建一个列表 name = ['ShaoLin','Tom','Kimi','Rain','A ...
- 海思H264解码库 hi_h264dec_w.dll 水印问题
上一篇 海思h264解码库 , 实现了H264帧的简单解码,但更换相机后,出现了解码视频中央出现水印的问题,水印如下图 查找网络,基本就这一篇相关的,还没给出好的解决办法. http://bbs. ...
- 使用ASP.NET WEB API构建基于REST风格的服务实战系列教程(一)——使用EF6构建数据库及模型
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 使用Entity Framework Code First模式构建数据库对象 已经决定使用EF C ...
- [Unity] Shader(着色器)之纹理贴图
在Shader中,我们除了可以设定各种光线处理外,还可以增加纹理贴图. 使用 settexture 命令可以为着色器指定纹理. 示例代码: Shader "Sbin/ff2" { ...
- kindeditor在光标处插入编辑器外的数据
页面 <div class="form-group clearfix"> <label class="control-label col-sm-3 co ...