JQuery小结

  jQuery:轻量的javaScript库. 

  jQuery不需要配置,只需要下载以.js结尾的库就行了,然后把它放在html文档中的<head></head>中即可。

  具体实现<script src="下载好的js文件路径" type="text/javascript"></script>。

一、选择器

  JQuery之所以强大,就是因为其强大的选择器。jQuery 的核心功能都是通过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。

  语法:

   jQuery([selector,[context]])

    selector:用来查找的字符串

    context:作为待查找的 DOM 元素集、文档或 jQuery 对象。

   简写:$()

  分类:

   ID选择器:

    $("#id")  如果需要转义用两个斜杠表示。

    $("#myDiv"); 查找id为myDiv的元素

    $("#foo\\:bar"):  查找id为    foo:bar       的元素

    $("#foo\\[bar\\]"): 查找id为 foo [bar]       的元素

    $("#foo\\.bar"):  查找id为 foo.bar           的元素


   标签选择器:

    $("标签名称");

    $("div");获取所有div 标签

    $("p");获取所有p标签


   类选择器:

    $(".myClass");获取所有类名为myClass的类


   常见选择内容:

    1 parent > child:匹配父元素下面所有子元素

     $("form > input") 获取form节点下面的input节点,不获取孙子节点的元素

    2 prev + next:获取prev元素后面的next元素

     $("label + input")匹配所有跟在 label 后面的 input 元素

    3  first last 获取匹配的第一个元素:

     $('li:first');  获取第一个li

    4  奇偶数:

      even:匹配所有索引值为偶数的元素,从 0 开始计数

      odd:匹配所有索引值为奇数的元素,从 0 开始计数

      eq(index):特定索引值得元素

      gt(index):大于给定索引值的元素

      lt(index):小于给定索引值的元素

    5  包含指定文本:contains(text)

      $("div:contains('John')")查找所有包含 "John" 的 div 元素

    6  匹配含有特定元素的元素 has()

      $("div:has(p)").addClass("test");给所有包含p标签的div元素添加类名:test

    7  包含特定属性的筛选

      $("div[属性名称]") 

       [attribute=value]

       [attribute!=value]给定的属性不等于某些值

       [attribute^=value]给定的属性是以某些值开始的元素

       [attribute$=value]匹配给定的属性是以某些值结尾的元素

       [attribute*=value]匹配给定的属性是以包含某些值的元素

    8  nth-child匹配其父元素下的第N个子或奇偶元素

         $("ul li:nth-child(2)")

       first-child  而此选择符将为每个父元素匹配一个子元素  

       last-child   而此选择符将为每个父元素匹配一个子元素

     示例

在JQuery视频学习中,横纵向菜单的例子

$(document).ready(function(){
	//页面中的DOM已经装载完成时,执行的代码
	$(".main > a").click(function(){
		//找到主菜单项对应的子菜单项		
		var ulNode = $(this).next("ul");//next 找到主菜单下面所有ul的同辈菜单,也就是菜单一  菜单二  菜单三
		ulNode.slideToggle();  //设置显示效果:滚动显示  可以是数字或是字符串
		changeIcon($(this));
	});
	//鼠标移动到上面执行的函数:hover
	$(".hmain").hover(function(){
		$(this).children("ul").slideDown();
		changeIcon($(this).children("a"));
	},function(){
		$(this).children("ul").slideUp();
		changeIcon($(this).children("a"));
	});
});

/**
 * 修改主菜单的指示图标
 */
function changeIcon(mainNode) {
	if (mainNode) {
		if (mainNode.css("background-image").indexOf("collapsed.gif") >= 0) {
			mainNode.css("background-image","url('images/expanded.gif')");
		} else {
			mainNode.css("background-image","url('images/collapsed.gif')");
		}
	}
}

二、事件函数       

 $(document).ready(function)当文档完成加载时,相当于windows load事件

 $(selector).click(function)单击事件

 $(selector).dblclick(function)双击事件

 $(selector).focus(function)获取焦点事件

 $(selector).mouseover(function)鼠标悬停事件

 $(selector).hover(function)鼠标移到所选择的的对象上面响应一个事件

 $(selector).one(type,function) 为所选择的的元素注册一个一次性事件


  示例:

  JQuery视频中可编辑表格的JQuery代码,里面用到了相应的事件函数

$(function(){
	//找到表格的内容区域中所有的奇数行
	//使用even是为了把通过tbody tr返回的所有tr元素中,在数组里面下标是偶数的元素返回,
	$("tbody tr:even").css("background-color","#ECE9D8");
	//找到所有的学号单元格
	var numTd = $("tbody td:even");
	//给这些单元格注册鼠标点击的事件
	numTd.click(function() {	
		//找到当前鼠标点击的td,this对应的就是响应了click的那个td
		var tdObj = $(this);
		if (tdObj.children("input").length > 0) {
			//当前td中input,不执行click处理
			return false;
		}
		var text = tdObj.html(); 
		//清空td中的内容
		tdObj.html("");		
		//将文本框插入到td中
		var inputObj = $("<input type='text'>").css("border-width","0")
			.css("font-size","16px").width(tdObj.width())
			.css("background-color",tdObj.css("background-color"))
			.val(text).appendTo(tdObj);
		//是文本框插入之后就被选中
		inputObj.trigger("focus").trigger("select");
		inputObj.click(function() {
			return false;
		});
		//处理文本框上回车和esc按键的操作
		inputObj.keyup(function(event){
			//获取当前按下键盘的键值
			var keycode = event.which;
			//处理回车的情况
			if (keycode == 13) {
				//获取当当前文本框中的内容
				var inputtext = $(this).val();
				//将td的内容修改成文本框中的内容
				tdObj.html(inputtext);
			}
			//处理esc的情况
			if (keycode == 27) {
				//将td中的内容还原成text
				tdObj.html(text);
			}
		});
	});
});



三、常用属性

 toggleClass(class|fn[,sw]):如果存在(不存在)就删除(添加)一个类。

 attr(name|properties|key,value|fn):设置或返回被选择元素的属性值。

 removeAttr(name):顾名思义,移除被选择元素的属性值

 addClass(class|fn):给选定元素添加类名

 removeClass([class|fn]):给选定元素移除类名

 text([val|fn]):所匹配元素的内容;

 html([val|fn]):取得第一个匹配元素的html内容。

 css(name|pro|[,val|fn]):获取匹配元素的样式属性


  示例

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
</script>
<script>
$(document).ready(function(){
  $("p").click(function(){
    $("p").text("Hello world!");
  });
});
</script>
</head>
<body>
<img src="test.jpg"/>
<p>用例1</p>
<p>用例2</p>
<p>用例3</p>
</body>
</html>



四、常用效果

  JQuery核心是写更少的代码,实现更多的功能,而JQuery封装好的效果函数很好的体现了这一点。

   show([speed,[easing],[fn]]):显示隐藏的元素

   hide([speed,[easing],[fn]]):隐藏显示的元素

   slideDown([speed],[easing],[fn]):向下滑动显示效果

   slideUp([speed,[easing],[fn]]):向下滑动隐藏效果

   fadeIn([speed],[easing],[fn]):淡入效果

   fadeOut([speed],[easing],[fn]):淡出效果



  示例  

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>//引用js文件
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").fadeToggle();//淡入 淡出效果
    $("#div2").fadeToggle("slow");
    $("#div3").fadeToggle(3000);
  });
});
</script>
</head>

<body>

<p>演示带有不同参数的 fadeToggle() 方法。</p>
<button>点击这里,使三个矩形淡入淡出</button>
<br><br>
<div id="div1" style="width:80px;height:80px;background-color:red;"></div>
<br>
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>
<br>
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>
</body>

</html>



小结:

  言而简之,JQuery作为一个封装好的JavaScript库:

  1)一方面,通过其强大的选择器和多种的属性实现对各个元素的操作;

  2)另一方面,丰富多样的事件函数和封装好的效果功能,从而实现了多样化的网页效果。

评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值