jquery加载方式,选择器,样式操作

原生js和css不兼容,jquery已经过测试,可放心使用
https://code.jquery.com   这个网站可以下载jquery的源码,比如把源码下载到js文件夹中,文件名为jquery-1.12.4.min.js ,有min字样的是精简版的
 

一. 比较原生的和jquery的用法

 
例子1,页面弹出<div>元素中的文本
<head>
    <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script> #先导入库
    <script type="text/javascript">  #再来一个<script>标签来用jquery库
    
        #原生js的方法
        window.onload = function() {
              var oDiv = document.getElementById('div');
              alert(oDiv.innerHTML);
         }
 
        #Jquery的方法
        $(document).ready(function() {
              var $div = $('#div');   其中#div和css中的ID选择器一样    
              alert($div.html() + 'test');  #后面加test是为了和原生的做区分
        });
  
    </script>
</head>
 
<body>
    <div id="div">这是一个div元素</div>
</body>
 

  

注意:
1. 刷新页面后,会首先弹出jquery的文本:"这是一个div元素test" ,然后才会弹出原生的,原因是因为window.onload需要等网页中所有元素加载完,并且经过渲染后才会执行里面的代码;而jquery中的ready函数只需要页面中元素加载完就可以执行里面的代码,不需要经过渲染。
 
2. $(document).ready(function(){....})可以简写成$(function(){...})
 
 
 

二. jquery选择器

jquery用法思想一 
选择某个网页元素,然后对它进行某种操作


1. jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择成功。

$(document) //选择整个文档对象
$('li') //选择所有的li元素
$('#myId') //选择id为myId的网页元素
$('.myClass') // 选择class为myClass的元素
$('input[name=first]') // 选择name属性等于first的input元素
$('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素

  

2. 对选择集进行修饰过滤(类似CSS伪类)

$('#ul1 li:first') //选择id为ul1元素下的第一个li
$('#ul1 li:odd') //选择id为ul1元素下的li的奇数行
$('#ul1 li:eq(2)') //选择id为ul1元素下的第3个li
$('#ul1 li:gt(2)') // 选择id为ul1元素下的前三个之后的li
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素

  

3. 对选择集进行函数过滤

$('div').has('p'); // 选择包含p元素的div元素
$('div').not('.myClass'); //选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').first(); //选择第1个div元素
$('div').eq(5); //选择第6个div元素

  

4. 选择集转移

$('div').prevAll('p'); //选择div元素前面的第一个p元素
$('div').nextAll('p'); //选择div元素后面的第一个p元素
$('div').closest('form'); //选择离div最近的那个form父元素
$('div').parent(); //选择div的父元素
$('div').children(); //选择div的所有子元素
$('div').siblings(); //选择div的同级元素
$('div').find('.myClass'); //选择div内的class等于myClass的元素

 

注意:

next() 同级的下一个元素,nextAll()表同级的下面所有的元素

prev() 同级的上一个元素,prevAll()表同级的上面所有的元素
 
 
 
 例子1
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>jquery 选择器</title>
	<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
	<script type="text/javascript">
		$(function(){

			$('#div1').css({color:'pink'});  #修改原css样式的方法
			$('.box').css({fontSize:'30px'});  #fontSize要写成驼峰式
			$('.list li').css({background:'green',color:'#fff',fontSize:'20px'});

		});

	</script>

	<style type="text/css">
		
		#div1{
			color:red;
		}

		.box{
			color:green;
		}

		.list li{
			
			margin-bottom:10px;
		}




	</style>
</head>
<body>
	<div id="div1">这是一个div元素</div>
	<div class="box">这是第二个div元素</div>
	<ul class="list">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
		<li>8</li>
	</ul>
</body>
</html>

  

 

 例子2,验证选择集转移
 
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
	<script type="text/javascript">
		$(function(){

			// next() 同级的下一个元素,nextAll同级的下面所有的元素

			// prev() 同级的上一个元素,prevAll同级的上面所有的元素

			$('#div1').nextAll('p').css({color:'red'});


			//选择上一级的父元素
			$('#span01').parent().css({width:'100px',height:'100px',background:'gold'});



			//选择离最近的元素,元素可以是父级,可以是子集,closest()常用于多层标签结构中
			$('#span02').closest('div').css({width:'200px',height:'200px',background:'pink'});

			// $('.list li'):不能回到父级
			// $('.list').children():可以通过end() 回到父级; mairginBottom为每一个<li>设置外边距以便区分
			$('.list').children().css({background:'gold',height:'30px',marginBottom:'10px'}).end().css({background:'green'});
                       
            //验证$('.div').siblings(),eq(2)表示第3个<li>,作用就是把第3个<li>背景设为gold, 其他的<li>为green
			$('.list2 li:eq(2)').css({background:'gold'}).siblings().css({background:'green'});

            //验证$('.div').find(),找到<div2>中的<a>标签,设置里面的字体颜色
			$('#div2').find('.link1').css({color:'red'});

			
			





		})


	</script>
</head>
<body>
	<div id="div1">这是一个div元素</div>
	<div>这是第二个div元素</div>
	<p>这是一个p元素</p>
	
	<div>
		<a href="#">百度网</a>
		<span id="span01">span元素</span>
	</div>


	<div id="div2">
		<p>
			<a href="#" class="link1">腾讯网</a>
			<span id="span02">span元素</span>
		</p>
	</div>

	<ul class="list">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
		<li>6</li>
		<li>7</li>
		<li>8</li>
	</ul>


	<ul class="list2">
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
	</ul>

</body>
</html>

  

 三. 样式操作

jquery用法思想二 
同一个函数完成取值和赋值

1. 操作行间样式

// 获取div的样式
$("div").css("width");
$("div").css("color");


//设置div的样式
$("div").css("width","30px");
$("div").css("height","30px");
$("div").css({fontSize:"30px",color:"red"});

  

特别注意 
选择器获取的多个元素,获取信息获取的是第一个,比如:$("div").css("width"),获取的是第一个div的width。

 

2. 操作样式类名

$("#div1").addClass("divClass2") //为id为div1的对象追加样式divClass2
$("#div1").removeClass("divClass")  //移除id为div1的对象的class名为divClass的样式
$("#div1").removeClass("divClass divClass2") //移除多个样式
$("#div1").toggleClass("anotherClass") //重复切换anotherClass样式

  

 

例子1, 上面的jquery操作都是设置样式,那么怎么读取原先样式的属性呢

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
	<script type="text/javascript">
		$(function(){

			// 读取样式,获取字体大小
			alert(  $('.div1').css('fontSize') );

			// 设置样式(写入)
			$('.div1').css({background:'gold'});

//为.div1追加样式big $('.div1').addClass('big');
//去除div1样式 $('.div1').removeClass('div1'); }) </script> <style type="text/css"> .big{ font-size:30px; } </style> </head> <body> <div class="div1">这是一个div元素</div> </body> </html>

  

 
posted @ 2018-04-28 15:41  坚强的小蚂蚁  阅读(1020)  评论(0编辑  收藏  举报