jQuery/Ajax

24 篇文章 0 订阅
6 篇文章 0 订阅

jQuery

是一个js文件,封装了大量js常用功能形成的前端框架,可以简化js开发,优化HTML文档操作、时间处理、动画设计和ajax交互。

链式语法:$(#id).text().css().css(). …
兼容css3

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	//引入在线资源,引入资源和写js内容必须分开
	<!-- <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> -->
	//引入本地资源
	<script src="jQueryImport.js" type="text/javascript"> </script>
	<script>
	//解析到本行时,body内容还未被解析,故以下代码必须写$(function(){}里面,表示页面加载完执行,否则会出现找不到对应元素的情况(如果不写$(function(){},script代码块应放在body后面)
		$(function(){
			$("#b1").click(function(){
				$(this).css({"color":"white","background":"red","width":"100px","height":"45px",}).text("啦啦啦");
				$("#b2").text("略略略");
			});
		});
	</script>
	<body>
		<button id = "b1">按钮1</button>
		<button id = "b2">按钮2</button>
	</body>
</html>

jQuery与JavaScript对象转换

jQuery与JavaScript方法不通用

	jQuery对象[下标] --->Js对象   JQuery对象使用选择器
	$(Js对象) --->jQuery对象

jQuery事件

事件类型js写法特点jQuery写法特点
页面加载事件(入口函数)οnlοad=function(){}定义多个οnlοad=function(){},后面的会覆盖前面的,即只执行最后一个事件$(function(){});定义多个,按顺序依次执行
点击事件对象.οnclick=function(){}
对象.onbdlclick=function(){}
$("#id").click(funtion(){});
$("#id").dblclick(funtion(){});
css事件对象.style.属性名=“属性值”$("#id").css({“属性名”:“属性值”,“属性名”:“属性值”,…})

jQuery+css选择器

选择器返回的一定都是数组!!!可以用length获得长度(数量),用下标获取元素

			//元素选择器+层级选择器(子代选择器)+类选择器
			$("div > .a").css("background","red");
			//元素选择器+并集选择器+ID选择器
			$("button,#div3").css("background","blue");
			//元素选择器
			$("button").css("color","white");
			
			//通配符选择器
			$("*").css("border","black 1px solid");
			
			//属性选择器
			//所有包含name属性的
			$("[name]").css("color","red");
			//属性='' 属性为''
			$("button[name='neirong'][id='d3b3'],span[class='b']").css("color","yellow");
			//不含class属性的,以及class属性值不为a的全部会被选中
			$("[class!='a']").css("border","red solid 1px");
			//属性^='' 属性以''开头
			$("[name^='nei']").css("border","none");
			//属性*='' 属性含''
			$("[name*='g1']").css("border","black 2px solid");
			//属性$='' 属性以''结尾
			$("[name$='4']").css("color","green");
			
			//层级选择器
			//子代选择器(div 的直接后代input)
			$("div > input").css("color","red");
			//子孙选择器(div 的所有后代input)
			$("div input").css("border","blue 1px solid");
			//兄弟选择器(所有div 后面的同级input)
			$("div~input").css("background","yellow");
			//相邻兄弟选择器(div 后面紧邻的的同级input)
			$("div+input").css("fontSize","46px");
			
			//过滤选择器
			//首个 :first /最后一个 :last (如果有多个ol,一共只能定位到最后一个)
			$("ol>li:first").css("color","red");
			//奇数个
			$("ol>li:odd").css("color","blue");
			//偶数个
			$("ol>li:even").css("background","gray");
			//下标为3的(下标从0开始)
			$("#o2>li:eq(3)").css("border","3px solid green");
			//下标小于2的(lt:less than)
			$("#o2>li:lt(2)").css("background","yellow");
			//下标大于5的(gt:greater than)
			$("#o2>li:gt(5)").css("fontSize","32px");
			//不包含#l 这个属性的(#1 即 id="l")
			$("#o1>li:not(#l)").css("border","3px solid pink");
			
			//状态过滤选择器
			//可用的
			$("input:enabled").css("background","hotpink");
			//不可用的 被赋予了disabled属性的
			$("input:disabled").css("background","limegreen");
			//checked 被选中的,可用于radio和CheckBox
			$("#c1").click(function(){
				alert($("input:checked").length);
			})
			//selected 被选中的,可用于option
			$("#b").click(function(){
				alert($("option:selected").length);
			})

DOM操作

text()获取或设置内容文本
val()获取或设置属性值
html()获取或设置整个结构

属性操作

attr(“属性名”)获取属性值
attr(“属性名”,“属性值”)添加/替换属性值
removeAttr(“属性名”)移除属性(名和值都移除)
prop(“属性名”)获取属性值
prop(“属性名”,“属性值”)添加/替换属性值
removeProp(“属性名”)移除属性值(测试无效?)
<div class=“a b c”> 这是一个div ,同时应用 a b c三种class </div>
addClass(“d”)追加class属性的值<div class=“a b c d”>
removeClass()删除class属性的全部值,但保留class这个属性<div class >
removeClass(“b”)针对性删除b这个class值<div class=“a c”>
toggleClass(“b”)切换b这个class值的有无<div class=“a c”> 切换 <div class=“a b c”>
$(“a”).append($(“b”))将b标签元素整个添加到a元素中,末尾位置<a>aaa <b>bbb</b> </a>
$(“a”).prepend($(“b”))将b标签元素整个添加到a元素中,开头尾位置<a> <b>bbb</b> aaa</a>
$(“a”).appendTo($(“b”))将a标签元素整个添加到b元素中,末尾位置<b>bbb <a>aaa</a> </b>
$(“a”).prependTo($(“b”))将a标签元素整个添加到b元素中,末尾位置<b>bbb <a>aaa</a> </b>
$(“a”).after($(“b”))
$(“a”).insertAfter($(“b”))
将b标签元素放到a元素后<a>aaa</a> <b>bbb</b>
$(“a”).before($(“b”))
$(“a”).insertBefore($(“b”))
将b标签元素放到a元素前<b>bbb</b> <a>aaa</a>
$(“a”).remove()将a标签元素(及其后代标签元素都删除)
$(“a”).remove()将a标签元素的后代标签元素删除(保留a标签)

Ajax Asynchronous(异步的)JavaScript and Xml

概念
局部刷新:不用重新加载整个页面就能与服务器交换数据,更新页面

原生AJAX

创建对象(新版)
var xmlhttp = new XMLHttpRequest();
方法
open(String 提交方式,String 提交地址,Boolean 是否异步)
send(String参数/无参)

	xmlhttp .open("get","url?a=b&a=b",true);
	xmlhttp.send();
	get方式提交,send必须使用无参的,因为数据是以?键值对形式拼接到URL后面的
	
	xmlhttp .open("post","url",true);
	xmlhttp.send(String 参数);
	post方式提交,send必须使用有参的,参数为要提交的数据 键值对形式

JQuery+AJAX

方法
$.ajax(键值对)

	参数一般6对
	
	$.ajax({
	url:"String url"
	type:"String 提交方式GET/POST,默认get",
	data:"json的数据内容{"":"","":""}",
	success:function(){} 请求成功后执行的函数(Callback回调函数
	----以上为一般需要,以下为可选---
	datatype:"响应结果的数据类型",
	error:"发生异常时执行的回调函数"})
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script src="jQueryImport.js"></script>
<body>
<p id="timer">0</p>
<div>
<input type="text"   />
<button onclick="f(this)">提交后转换</button>
答案1:<span class="status"></span>
</div>
<div>
<input type="text"  />
<button onclick="f(this)">提交后转换</button>
答案2:<span class="status"></span><br/>
</div>
</body>
<script type="text/javascript">
function f(t){
	var name = $(t).siblings("[type='text']").val();
	//ajax方式(不常用)
	$.ajax({
		//请求的目标地址
		url:"t",
		//请求的方式
		type:"GET",
		data:{name:name},
		//jQuery封装后隐含xmlHttpRequest对象调用回调函数,返回的实参再回调函数中定义一个形参来接收
		success:function(d){
			$(t).siblings(".status").text(d);
		},
		//如果出现异常后调用的回调函数
		error:function(){
			alert("error");
		},
		//返回的数据类型,返回String一般会用 text/json两种
		datatype:"text"
	})
	//get方式(get/post不用写键值对,参数位置不能改变)
	$.get({
		"t",
		{name:name},
		function(d){
			$(t).siblings(".status").text(d);
		},"json"
		})
	//post方式
	$.post({
		"t",
		{name:name},
		function(d){
			$(t).siblings(".status").text(d);
		},"json"
		})
}
var i=0;
onload=function(){
	it = setInterval(timer,500);
}
function timer(){
	i += 1;
	document.getElementById("timer").innerText=i;
}
</script>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值