第五十六天jQurey的内容新增:

1.上节内容的回顾:

  1.1选择器的升级板程序:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>选择操作</title>
    <style>


    </style>
</head>
<body>
<table id="t1" border="1">
    <thead>
    <tr>
        <th>序号</th>
        <th>内容1</th>
        <th>内容2</th>
    </tr>

    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox" value="011"></td>
        <td><span>123</span></td>
        <td><span>346</span></td>
    </tr>
    <tr>
        <td><input type="checkbox" value="012"></td>
        <td><span>123</span></td>
        <td><span>346</span></td>
    </tr>
    <tr>
        <td><input type="checkbox" value="013"></td>
        <td><span>123</span></td>
        <td><span>346</span></td>
    </tr>
    </tbody>
</table>
<div>
    <input id="all" type="button" value="全选">
    <input id="different" type="button" value="反选">
    <input id="cancle" type="button" value="取消">
</div>

<script src="jquery-3.4.1.min.js"></script>
<script>
    $('#all').click(function(){
        $(':checkbox[value="011"]').prop('checked',true);
        $(':checkbox[value="012"]').prop('checked',true);
        $(':checkbox[value="013"]').prop('checked',true);
    })
    $('#different').click(function(){
        var $cheEle=$(':checkbox');
        for (var i=0;i<$cheEle.length;i++){
            console.log($cheEle.length);
            console.log($($cheEle[i]).prop('checked'));
            if ($($cheEle[i]).prop('checked')==true){

                $($cheEle[i]).prop('checked',false);


            }
            else{
                 $($cheEle[i]).prop('checked',true);

            }
        }
    });
    $('#cancle').click(function(){
         $(':checkbox[value="011"]').prop('checked',false);
        $(':checkbox[value="012"]').prop('checked',false);
        $(':checkbox[value="013"]').prop('checked',false);

    })
</script>
View Code

  1.2find用法:find方法是用来返回后代元素的:

<ul>
    <li><a href="http://www.baidu.com">百度</a></li>
    <li><img src="https://pic1.zhimg.com/v2-3b4fc7e3a1195a081d0259246c38debc_1200x500.jpg" alt=""></li>
    <li>hehii</li></ul>

<script src="jquery-3.4.1.min.js"></script>
<script>
    console.log($('ul').children().find('img'));

</script>
View Code

2今日面试题:

将列表进行打乱:

import random
l1=[11,33,55,66,78]
random.shuffle(l1)#原来序列进行修改
print(l1)
View Code

3.把某个元素添加到元素的内部:

  3.1$(a).append(b)//把b追加到a的后面
<script>
    var l1=document.createElement('li');
    l1.innerText=4;
    $('ul').append(l1);
</script>
</body>
View Code

  3.2$(b).appendto(a)//把a追加到b的后面

 

<script>
    var l1=document.createElement('li');
    l1.innerText=4;
    $(l1).appendTo('ul');
</script>
View Code

  3.3在ul标签内部前面添加元素:$(a).prepend(b)//把b追加到a的前面

 

<script>
    var l5=document.createElement('li');
    l5.innerText=5;
    $(l5).appendTo('ul');
    var l0=document.createElement('li');
    l0.innerText=0;
    $('ul').prepend(l0);
</script>
View Code

  3.4$(b).append(a)//把b追加到a的前面

 

<script src="jquery-3.4.1.min.js"></script>
<script>
    var l5=document.createElement('li');
    l5.innerText=5;
    $(l5).appendTo('ul');
    var l0=document.createElement('li');
    l0.innerText=0;
    $(l0).prependTo('ul');
</script>
View Code

4.把某个元素添加到某个元素的外部:

  4.1添加到指定元素外部的后面:

 

 var l1=document.createElement('li');
    l1.innerText=1.2;
    $('#s1').after(l1);
结果为
0
1
1.2
2
3
5
View Code

  4.2添加指定元素外部的前面:

 

<script>
    var l5=document.createElement('li');
    l5.innerText=5;
    $(l5).appendTo('ul');
    var l0=document.createElement('li');
    l0.innerText=0;
    $(l0).prependTo('ul');
    var l1=document.createElement('li');
    l1.innerText=1.2;
    $('#s1').after(l1);
    var l2=document.createElement('li');
    l2.innerText=1.8;
    $('#s2').before(l2);

</script>
结果为
0
1
1.2
1.8
2
3
5
View Code

5.移除和清空元素:

  5.1清空所有的元素:remove();

 

$('ul').remove();将父元素及子元素全部清空
View Code

  5.2empty() 删除匹配到的元素集合中所有的子元素:

 

$('ul').empty();
View Code

  5.3在表格中添加一行表格:

 

<table border="2">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
        <th>操作</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>小强</td>
        <td>吃冰淇凌</td>
        <td>
            <button class="delete">删除</button>
        </td>
    </tr>
    <tr>
        <td>2</td>
        <td>二哥</td>
        <td>三弟</td>
        <td>
            <button class="delete">删除</button>
        </td>
    </tr>
    <button class="add">添加一行数据</button>

    </tbody>
</table>

<script src="jquery-3.4.1.min.js"></script>
<script>

    $('.add').click(function () {
        var t1 = document.createElement('tr');
        t1.innerHTML = ('<td>3</td><td>小三</td><td>天狗</td><td><button class="delete">删除</button></td>');
        $('tbody').append(t1);

    });
    $('.delete').click(function(){
        var $p1=$(this).parent().parent();
        $p1.remove();
    })
</script>
View Code

6.标签的替换:

  6.1替换一个:

 

<script>
    $('#b1').click(function () {
        var imgEle = document.createElement('img');
        url = 'https://pic1.zhimg.com/v2-3b4fc7e3a1195a081d0259246c38debc_1200x500.jpg';
        $(imgEle).attr('src', url);
        $('.c1').replaceWith(imgEle);
    });

</script>
View Code

  6.2替换所有:replaceAll()

 

script>
    $('#b1').click(function () {
        var imgEle = document.createElement('img');
        url = 'https://pic1.zhimg.com/v2-3b4fc7e3a1195a081d0259246c38debc_1200x500.jpg';
        $(imgEle).attr('src', url);
        $(imgEle).replaceAll('a');
    });
View Code

7.标签的克隆:如果在clone(true);如果在括号内加上true则代表把标签和事件都加进去否则只加入事件。

 

<script src="jquery-3.4.1.min.js"></script>
<script>
//    $
    $('#copy').click(function(){
        $(this).clone(true).insertAfter(this);
    })
View Code

8.我们以后使用jQuery进行事件的绑定使用on用法:

  8.1  on( 事件,function):

 

<script>
    $('.delete').on('click',function(){
        $(this).parent().parent().remove();
    })
</script>
View Code

  8.2on(事件,选择器,function),适用于给未来选择器来绑定事件,通过上面哪给表格添加一行的实例我们可以发现我们后期添加的元素无法进行删除

,在这里我们就可以采用此方法进行解决:

 

 $('tbody').on('click','.delete',function(){
        var $p1=$(this).parent().parent();
        $p1.remove();
    });
View Code

9.阻止后面事情执行:使用return false:

  9.1用昨天哪个案例进行升级:如果填入内容就提交成功:

 

<script>
    var flag=true;
    $('.s1').on('click', function () {
        var $c1Ele = $('.c1');
        for (var i = 0; i < $c1Ele.length; i++) {

            var $clElev = $($c1Ele[i]);
            if (!($clElev.val())) {
                flag=false;
                var $labelEle = $clElev.parent().text();
                var d1 = document.createElement('span');
                d1.innerText = $labelEle + '不能为空';
                $clElev.after(d1);
            }
        }
        return flag;
    })
</script>
View Code

  9.2如果用户名没有输入则不需要进行密码是否为空的判断:

 

<script>
    var flag=true;
    $('.s1').on('click', function () {
        var $c1Ele = $('.c1');
        for (var i = 0; i < $c1Ele.length; i++) {

            var $clElev = $($c1Ele[i]);
            if (!($clElev.val())) {
                flag=false;
                var $labelEle = $clElev.parent().text();
                var d1 = document.createElement('span');
                d1.innerText = $labelEle + '不能为空';
                $clElev.after(d1);
                break;
            }
        }
        return flag;
    })
</script>
View Code

  9.3如果列表中遇到某个元素之后就跳出循环,不在进行输出操作:使用break;

 

var li=[11,33,44,55,66];
undefined
for (var i=0;i<li.length;i++){
    if (li[i]===33){
        break;}
    else{
        console.log(li[i]);
    };
};
VM658:5 11
View Code

  9.4如果列表中只希望某个元素不进行输出:则使用return:

10.事件的操作主要有:

  10.1click:点击操作;

  10.2hover:鼠标点上去动作;

  10.3blur:鼠标移出动作:

  10.4focus:鼠标放上去动作:

  10.5:change:select值发生改变时动作

  10.6keyup:键盘抬起发生动作;

  10.7keydown:键盘按下发生动作;

11.鼠标操作案列:

12.如果我想在head中使用script怎么才能成功:

 

 <script src="jquery-3.4.1.min.js"></script>
    <script>
        <!--等dom树生成之后再执行此命令-->
        $(document).ready(function(){
            console.log($('div').text());
        })
    </script>
View Code

13.网页的动态效果操作:

  13.1 hide(s)多少时间之后消失:

 

 $('img').hide(3000);
View Code

  13.2 toggle(s)有就删除,没有就添加:

 

$('img').toggle(3000);
View Code

  13.3slideDown(s )从上面慢慢往下滑:

 

$('img').slideDown(3000);
View Code

  13.4slideUp(s)

 

$('img').slideUp(3000);
View Code

  13.5slidetoggle(s)

 

$('img').slideToggle(3000);
View Code

  13.6fadeIn(s) 淡入:

 

$('img').fadeIn(3000);
View Code

  13.7fadeOut(s)淡出:

 

$('img').fadeOut(10000);
View Code

  13.8设置图片模糊度:0到1:

 

$('img').fadeTo(3000,0.3);
View Code

  13.9fadeToggle(s )有就淡出,没有就淡入:

 

$('img').fadeToggle(3000);
View Code

  13.10 animate( p s ):自定义:

 

<script>
    $(document).ready(function(){
        $('#d1').on('click',function(){
            var new1 =document.createElement('i');
            new1.innerText='+1';
            $(this).append(new1);
            $(this).children('i').animate({
               opacity:0
            }, 1000)

        })
    })
View Code

14 each:一个通用的迭代对象,它可以用来无缝对接迭代对象和数组。数组和类似数组的对象通过一个长度属性来迭代数字索引:从0到length-1:其他属性通过

属性名进行迭代:

  14.1属性的each方法:

 

$(document).ready(function(){
        var $divEle=$('div');
        $divEle.each(function(){
            console.log(this);
        })
View Code

  14.2数组的each方法:

 

$(document).ready(function(){
        var li=[11,33,44,55]
        $.each(li,function(k,v){
            console.log(k,v);
View Code

  14.2如果遇到数组中的某个值的时候想要结束循环则要使用return false;

 

script>
    var li=[11,44,55,66,77];
    $.each(li,function(k,v){
        if (v===44){
            return false;

        }
        else{
            console.log(k,v);
        }

    })
结果为
0 11
View Code

  14.3如果遇到数组中的某个值的时候想要跳出循环则要使用return

 var li=[11,44,55,66,77];
    $.each(li,function(k,v){
        if (v===44){
            return ;

        }
        else{
            console.log(k,v);
        }
    })
结果为
0 11
11each用法.html:23 2 55
11each用法.html:23 3 66
11each用法.html:23 4 77
View Code

15.data的用法:

  15.1data 会把数据存储起来,但是不会放到元素中,只要网页不刷新数据就不丢失:

 

$('#d1').data('s9','hello');
$('#d1').data('s9');
"hello"
View Code

   15.2将不需要的数据进行删除:removeData();

 

$('#d1').data('age',333);
k.fn.init [div#d1]
$('#d1').removeData('age');
k.fn.init [div#d1]
$('#d1').data('age');
View Code

 

  

 

 

  

 

 

 

posted @ 2020-04-06 21:15  chown  阅读(187)  评论(0编辑  收藏  举报