jQuery基础1

  • Post author:
  • Post category:其他




jQuery基础1



导入

<!-- 导入js文件 -->
<script src="./jquery.js"></script>



获取方法

    <div id="box">
        <div class="innerBox">
            <ul>
                <li class="active"></li>
                <li></li>
                <li></li>
                <li></li>
                <li class="foot">
                    <a href=""></a>
                </li>
            </ul>
        </div>
    </div>


通过jquery对象来调用获取方法
console.log(jQuery('body'));


使用$来代替jQuery
console.log($('body'));



使用选择器来获取对应的内容

        console.log($('#box')); //id为box的元素
        console.log($('.innerBox'));//class为innerBox的元素
        console.log($('li'));//获取标签为li的元素
        console.log($('ul>li'));//使用组合器来获取li元素
        console.log($('li[name=jack]'));//获取name为jack的li



特殊选择器

        console.log($('li:first'));//获取第一个li
        console.log($('li:last'));//获取最后一个li
        console.log($('li:eq(2)'));//获取下标为2的li
        console.log($('li:odd'));//获取下标为奇数的li
        console.log($('li:even'));//获取下标为偶数的li



筛选器



获取第一个内容
console.log($('li').first());


获取最后一个内容

里面可以传入参数为选择器名称

console.log($('li').last());


获取上一个内容

里面可以传入参数为选择器名称

        console.log($('li:eq(2)').prev());
        console.log($('li:eq(2)').prev('.active')); //上一个选择器不为.active时返回内容为空


获取下一个内容

里面可以传入参数为选择器名称

        console.log($('li:eq(2)').next());
        console.log($('li:eq(2)').next('.foot'));


获取上面所有的内容

里面可以传入参数为选择器名称

        console.log($('li:eq(2)').prevAll());
        console.log($('li:eq(2)').prevAll('.active'));


获取下面所有内容

里面可以传入参数为选择器名称

        console.log($('li:eq(2)').nextAll());
        console.log($('li:eq(2)').nextAll('.foot'));


获取父元素

里面可以传入参数为选择器名称

        console.log($('li').parent());
        console.log($('li').parent('ul'));


获取所有父元素

里面可以传入参数为选择器名称

        console.log($('li').parents());
        console.log($('li').parents('ul'));


获取所有子元素(直系子元素)

里面可以传入参数为选择器名称

        console.log($('ul').children());
        console.log($('ul').children('.foot'));


获取所有兄弟元素

里面可以传入参数为选择器名称

        console.log($('li:eq(2)').siblings());
        console.log($('li:eq(2)').siblings('.foot'));


查找元素

里面可以传入参数为选择器名称

        console.log($('ul').find('li'));//在ul里面查找li
        console.log($('ul').find('a'));//在ul里面查找a


通过索引筛选

里面可以传入参数为选择器名称

        console.log($('li').eq(1));//相当于$('li:eq(1)')



属性操作

传入一个参数为获取,两个参数为设置

<div id="box"></div>



prop

        console.log($('div').prop('id'));//返回第一个id属性值
        $('div').prop('class','inner')//设置class属性,值为inner
        $('div').prop('name','tom')//对于本身没有的属性,不会显示添加,但可以用
        console.log($('div').prop('name'));//tom



attr



读取显示添加的内容
        console.log($('div').attr('class'));//inner
        console.log($('div').attr('name'));//undefined


设置本身没有的属性也会显示添加
        $('div').attr('age','20')



删除

attr只能删除显示的属性,prop可以删除自己设置的隐示属性,但不可以删除attr设置的属性

        $('div').removeAttr('class')
        $('div').removeProp('name')
        console.log($('div').prop('name'));



class属性操作的其他方法

        $('div').addClass('tom')
        $('div').removeClass('inner')
        console.log($('div').hasClass('inner'));//判断是否有inner名字的class
        $('div').toggleClass()//切换class   对于已经有class就删除,没有就添加class



元素的创建于添加

    <div>原本的div</div>
    <ul>
        <li class="one">11</li>
        <li>22 <a href="http://www.baidu.com" name="tom" id="haha">aaaa</a></li>
        <li>33</li>
        <li>44</li>
    </ul>



创建元素

        let $div = $('<div></div>')



添加操作



后添加(父子节点的添加)
        $('body').append($div)//在body里最后面添加div(已经添加了的不会在添加了)
        $div.appendTo($('body'))//把div添加到body里的最后面(已经添加了的不会在添加了)


往前添加(父子节点的添加)
        let $a = $('<a></a>')
        $a.attr('href','http://www.baidu.com')
        $('body').prepend($a)   //在body里面的最前面添加a
        $a.prependTo($('body'))//把a添加到body里的最前面


after 在什么之后 (兄弟节点的添加)
        let $b = $('<b></b>')
        $('div').eq(0).after($b)//在 div的后面添加b
        $b.insertAfter($('div').eq(0))//把b添加到div里的后面


before 在什么之前 (兄弟节点的添加)
        let $p = $('<p></p>')
        $('div').eq(0).before($p)//在 div的前面添加p
        $p.insertBefore($('div').eq(0))//把p添加到div里的前面


替换replace
        let $h = $('<h>哈哈啊哈</h>')
        $('div').replaceWith($h)//将div替换成h标签(div会被删除)
        $('<h>烦烦烦</h>').replaceAll($('div'))//将h标签替换进div(div会被删除)


删除 remove 和 清空empty
       $('li').remove('.one')//删除方法,将li里面的save所有的元素全部删除
        // $('li').empty()//将里面所有的元素全部清空,自身的事件等不删除


克隆clone

第一个参数是是否克隆事件,默认false

        $('body').append($('li').eq(0).clone())



版权声明:本文为meng_qian_nian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。