Jquery1


Jquery1里面是单引号
当前应用非常广泛的一个js类库,封装了大量方法,可以快速完成常用功能
在使用前需要先引入jquery.js文件,才可以使用这个库中的成员
$对象是jquery对象的简写方式,一般都使用$而不书写jquery,简便快捷


基本选择器
用于获取页面上的标签,返回一个jq对象
id选择器:#id
元素选择器:标签
类选择器:.class


属性
用于对标签元素的属性进行操作
获取属性值:attr(属性)
设置属性值:attr(属性,值)
如果是操作标签的值可以简写为:text(),html()
如果是操作控件的值可以简写为:val()

 <script>
        //操作属性
        //获取属性的值:只写第一个参数,属性的名字
        //alert($('#btnShow').attr('value'));
        
        //设置属性的值:写两个参数,第一个表示属性的名字,第二个表示值
        //$('#btnShow').attr('value', 'Hello World');
        
        //prop表示html的原有属性,attr而表示扩展属性
        //如:img的src操作使用prop,而href操作使用attr
        //一般使用attr因为各种情况都适用
        //$('img').attr('href', 'abc');

        //移除属性
        //$('#btnShow').removeAttr('value');
    </script>

 


合成事件处理程序
hover(fn1,fn2):fn1表示mouseover的处理函数,fn2表示mouseout的处理函数
toggle(fn1,fn2...fnN):当元素被click后,轮流执行fn1、fn2、fnN方法
one(type,fn):表示注册的事件只响应一次,然后失效,type表示事件类型

 1  <script>
 2         //对于value属性的一种简写操作
 3     //$('#btnShow').attr('value');=>
 4         //$('#btnShow').val('');
 5         
 6         //为按钮绑定点击事件
 7         //$('#btnShow').click(function() {
 8         //    alert(this.value);//this是dom对象,不能调用jquery的成员
 9         //});
10         
11         //dom的事件注册:一个事件只能注册一个处理函数,不支持多播
12         //document.getElementById('btnShow').onclick = function() {
13         //    alert(1);
14         //};
15         //document.getElementById('btnShow').onclick += function() {
16         //    alert(2);
17         //};
18         
19         //jquery事件注册:支持多播,一个事件可以指定多个处理函数
20         $('#btnShow').click(function() {
21             alert(1);
22         });
23         $('#btnShow').click(function() {
24             alert(2);
25         });
26     </script>

加载事件

$(function() {
$('#btnShow').click(function() {
alert(1);
});

合成事件

 1  <script>
 2         $(function () {
 3             //合成指向、移开事件
 4             //$('#btnShow').hover(function() {//指向
 5             //    this.style.color = 'red';
 6             //}, function() {//移开
 7             //    this.style.color = 'black';
 8             //});
 9             
10             //合成点击事件,指定在n个函数间切换,点击次数为m
11             //$('#btnShow').toggle(function() {//第m%n==1次点击时执行此函数
12             //    alert(1);
13             //}, function() {//第m%n==2次点击执行此函数
14             //    alert(2);
15             //}, function() {//第m%n==0次点击执行此函数
16             //    alert(3);
17             //});
18             
19             //合成事件:只将绑定的事件执行一次
20             //$('#btnShow').one('click', function() {
21             //    alert(1);
22             //});
23         });
24     </script>

 

 

如何使用JSz中的类型成员
直接使用,不需要任何转换,因为jq就是js
如:array是js对象,不需要进行jq转换
如:方法parseInt()是js中的方法,在jq编码时可以直接使用

 

 1  <script>
 2         $(function () {
 3             //找到按钮,并绑定点击事件
 4             $('#btnShow').click(function() {
 5                 //找到文本框并获取值
 6                 var num = parseInt($('#txtNum').val());//直接调用js的成员进行操作
 7                 num++;
 8                 //将值显示到文本框
 9                 $('#txtNum').val(num);//传递参数时,表示将值赋给value
10             });
11         });
12     </script>

 

DOM和JQ对象的转换
为什么要转换呢?
为了使用jq中的方法,需要将dom对象转换成jq对象
jq并没有完成所有操作的封装,需要将jq对象转换成dom对象,再调用dom方法
dom->jq:$(dom对象名称)
jq->dom:jq对象.get(index)或jq对象[index]
对于dom对象,有属性、事件成员
对于jq对象,只有方法成员

 

文档处理
创建元素:$('标签字符串')
添加元素:
append(),追加

appendTo():追加到子元素
prepend(),prependTo():前加子元素
after(),insertAfter():后加兄弟元素
before(),insertBefore():前加兄弟元素
动态删除元素
empty():清空子元素
remove(selector):删除当前元素,无参表示删除全部,有参表示删除符合条件的元素

 

1  <script>
2         $(function() {
3             $('#btnShow').click(function () {
4                 //对于标签对,使用text().html()进行设置或获取
5                 $('#txt1').text('这是个div');
6             });
7         });
8     </script>

 

 <script>
        $(function() {
            $('#btnAppend').click(function () {
                //动态创建jquery对象
                var zhh = $('<b>Zhh</b>');
                //追加
                $('#divContainer').append(zhh);
            });

            $('#btnAppendTo').click(function () {
                //追加到
                $('<b>拍电影</b>').appendTo($('#divContainer'));
            });

            $('#btnEmpty').click(function () {
                //清空所有子元素
                $('#divContainer').empty();
            });

            $('#btnRemove').click(function() {
                //$('#divContainer').remove();
                $('<span style="color:red">sadkfjlsad</span>').insertBefore('#divContainer');
            });
        });
    </script>

 

省市联动

 each在jqurery里面有两种使用,一种是遍历,另外一种是对对象的访问

<script> //$.each(obj,fun(i,n)) //如果obj是数组,则i是索引,n是元素 //如果obj是对象或键值对,i是键,n是值 //定义省市数据,键值对集合 var datas = { "北京": ["朝阳", "海淀", "昌平", "丰台"], "山东": ["青岛", "济南", "烟台"], "山西": ["大同", "太原", "运城", "长治"], "河南": ["洛阳", "开封", "郑州", "驻马店"], "河北": ["石家庄", "张家口", "保定"] }; $(function() { //创建省的select var select = $('<select id="selectProvince"></select>'); //最后写change事件:为省的select绑定change事件 select.change(function () { //找到市信息 var citys = datas[$(this).val()]; //删除市的原有option $('#selectCity').empty(); //添加option $.each(citys, function(index,item) { $('<option>' + item + '</option>').appendTo('#selectCity'); }); }); //追加到body中 select.appendTo('body'); //遍历集合 $.each(datas, function (key, value) { //根据数据创建option并追加到select上 $('<option value="' + key + '">' + key + '</option>').appendTo(select); }); //创建市的select var selectCity = $('<select id="selectCity"></select>').appendTo('body'); //获取选中的省信息 var pro = $('#selectProvince').val(); //将省名称作为键到集合中获取值 var citys = datas[pro]; //遍历市的数组 $.each(citys, function(index, item) { $('<option>' + item + '</option>').appendTo(selectCity); }); }); </script>

 

层次选择器
符号一:空格,表示取子元素,无论是几层的子元素,都会被选择到
符号二:大于号>,表示直接子元素,不包含后代子元素
符号三:加号+,表示之后紧临的一个同级元素
符号三:波浪号~,表示之后的所有同级元素

next(),prev(),nextAll(),prevAll(),siblings(),parent(),children()

 

1   <script>
2         $(function () {
3             //空格表示查找所有子级
4             $('#d1 div');
5         });
6     </script>

 


操作样式和类
样式操作:css(),按照键值对的格式对样式进行设置
如果只设置一个样式,则可直接赋值,如:css('color','red');
如果设置多个样式,则使用css({键1:值1,键2:值2})的格式
操作后生成的代码,都是对标签的style属性进行设置

 

 1  <script>
 2         $(function () {
 3             //设置样式
 4             //$('#btnShow').css('background-color', 'red');
 5             //设置多个样式
 6             $('#btnShow').css({
 7                 'color': 'white',
 8                 'background-color': 'blue',
 9                 'font-size': '20px'
10             });
11         });
12     </script>
 1  <script>
 2         $(function() {
 3             $('#btnLight').click(function () {
 4                 if (this.value == '关灯') {
 5                     $('body').css('background-color', 'black');
 6                     $(this).val('开灯');
 7                 } else {
 8                     $('body').css('background-color', 'white');
 9                     $(this).val('关灯');
10                 }
11             });
12         });
13     </script>
1 <script>
2         $(function() {
3             $('#btnChange').click(function () {
4                 //链式编号:只查找一次,支持逐个使用方法
5                 $('p').text('都是P').css('color','yellow');
6             });
7         });
8     </script>

 

 1 <script>
 2         $(function() {
 3             $('li').hover(function() {//指向的到焦点
 4                 $(this).css({
 5                     'color': 'red',
 6                     'cursor':'pointer'//光标
 7                 });
 8             }, function () {//移开
 9                 $(this).css('color', 'black');
10             }).click(function() {//链式编程,编写点击事件
11                 $(this).appendTo('#ul2');
12             });
13         });
14     </script>

 

类操作:addClass,hasClass,removeClass,toggleClass
也可以使用属性方法进行操作:attr('class','className');


过滤选择器
用于对选择结果执行进一步过滤
:first、:last、:eq()、:gt()、:lt()、:not(选择器)、:even偶数、:odd奇数
说明1:索引下标从0开始
说明2:以下标判断奇偶,下标从0开始
标题的快速获取
普通方法:$('h1,h2,h3...h6')
快捷方法:$(':header')

<script>
        $(function() {
            $('div:first');
        });
    </script>

 表格操作知识点1.遍历 空格,奇偶,指向和移开 样式

 1 <script>
 2         var list = [
 3     { id: '1', country: '中国', capital: '北京' },
 4     { id: '2', country: '美国', capital: '华盛顿' },
 5     { id: '3', country: '日本', capital: '东京' },
 6     { id: '4', country: '韩国', capital: '首尔' }
 7         ];
 8 
 9         $(function () {
10             //遍历集合,创建tr与td
11             $.each(list, function(index, item) {
12                 $('<tr><td>' + item.id + '</td><td>' + item.country + '</td><td>' + item.capital + '</td></tr>').appendTo('#list');
13             });
14             //为奇偶行指定不同背景色
15             $('#list tr:even').css('background-color', 'red');
16             $('#list tr:odd').css('background-color', 'green');
17             //指定移上、移开效果
18             $('#list tr').hover(function() {//移上
19                 bgColor = $(this).css('background-color');
20                 $(this).css('background-color', 'blue');
21             }, function() {//移开
22                 $(this).css('background-color', bgColor);
23             });
24             //前三名变粗
25             $('#list tr:lt(3)').css('font-weight', 'bold');
26         });
27     </script>
View Code

指向移开

 1 <script>
 2         $(function () {
 3             $('li').hover(function () {//移上
 4                 $(this).css('background-color', 'red')
 5                     .prevAll()//这个方法找到当前节点的所有节点,破坏了当前的链
 6                     .css('background-color', 'yellow')
 7                     .end()//恢复最近的一次链的破坏
 8                 .nextAll()
 9                 .css('background-color', 'blue')
10                 ;
11             }, function () {//移开
12                 $(this).css('background-color', 'white')
13                     .siblings().css('background-color', 'white');//获取左右的兄弟节点
14             });
15         });
16     </script>
View Code

 

posted @ 2017-04-08 23:12  liusheng11188  阅读(235)  评论(0)    收藏  举报