jQuery中的API简单论述

1.过滤

// :first和:eq(index)使用是选择器语法
 $('div:first').text()
 $('div:eq(0)').text()
// eq(index)和first()使用是筛选API。目的:都是把$('div')范围进一步缩小。
  $('div').eq(0).text()
  $('p').first().text()
// hasClass(类名)用来判断元素是否拥有一个类名,拥有返回true
  $('div:eq(0)').hasClass('active')
// filter(选择器)用来做进一步筛选,过滤。有可能过滤多个

// is(选择器)判断元素是否满足is中的选择器条件,满足返回true 一般判断选择的元素是否是你想要的元素。即判断选择的元素是否准确

console.log($('div:last').is('.last'));
 //map()循环获取的所有的元素,做进一步业务逻辑处理。
 var $result = $('p').map(function (i, v) {
            return $(v).addClass('active');
        })
//is(选择器) 判断元素是否满足is中的选择器条件 满足返回true
//一般判断选择的元素是否是你想要的元素 即判断选择的元素是否准确
// has(选择器)筛选出元素中包含满足选择器的元素。
// slice()从查找的范围内截取一段。[start,end)左包含右不包含。

2. 查找

    // childen(选择器)得到子元素。
    // closest(选择器)查找离元素最近的祖先元素。
    // find(选择器)查找后代
    // next(选择器)查找后一个兄弟元素
    //nextAll() 没有终点
    //nextUntil  Until直到...结束  左包含 右不包含
    // prev(选择器)查找前一个兄弟元素 
    // parents(选择器)查找所有父元素
    // parent(选择器)查找直接父元素
    // add()串联,把多个选择器得到结果合并成一个大的结果。

addBack(选择器)
退回到以前的某个选择器。只能退一步, 选择器参数是为了进一步约束退一步的正确性。 注意和end()的区别。

// end()退一步,找到前面的选择器
console.log($('.first').find('.second').addBack().find('#s1').addBack().css({
    color: 'red'
 }))     

  console.log($('.first').find('.second').find('#s1').end().end().css({
            color: 'red'
        }))

prop attr data区分

//$('input[type=checkbox]:checked')获取选中的筛选框

// prop(属性名称)  一般要求是单属性 建议使用prop, 通用属性一般建议使用attr,自定义属性建议使用data
//console.log($('input[type=checkbox]:eq(1)').prop('checked', true))
 
 //$('input[type=checkbox]:eq(1)').attr('checked','checked')

3.文档处理API

添加

区分appenfTo()和append() 与prependTo()和prepend()区别

//appenfTo()和append()都是在父元素的末尾添加
//appendTo()添加到,被添加元素在前
//append() 添加,被添加元素在后

$('<div>').text("我是div").appendTo('body');
$('body').append("<p>纯文本</p>");
$('body').append($('<p>').text('我是p的内容'));

//prependTo()和prepend()都是在父元素的开头添加
//prepend() 添加,被添加的元素在后
//prependTo()添加到,被添加的元素在前
$('body').prepend("<h1>添加的标题</h1>");
$('<h2>').text('我是h2标题').prependTo('body');
 //after()在参照的元素后添加,被插入的元素在后
 //insertAfter()在参照的元素后添加,被插入的元素在前。

包裹元素

 // wrap()用元素去包裹另外一个元素。被包裹的元素在前。
 // unwrap()去除包裹
   $('#s1').wrap("<strong>");
   $('#s1').unwrap(); //不带参数
   // 把所有的p用一个h1包裹。
   $('p').wrapAll('<h1>');
   // p的内容区用b包裹
   $('p').wrapInner('<b>');

替换

// replaceWith()被替换的元素在前
// replaceAll()被替换的元素在后
// $('p:first').replaceWith('<div>div</div>');
// $('<div>div</div>').replaceAll($('p'));

删除

//empty()让元素内容区清空。
//remove()把元素从DOM树中删除 
//detach()方法移除被选元素,包括所有文本和子节点

detach() 与 remove()的区别
1.remove()删除后,再找回来,事件会丢失,而detach()不会。
2.这个方法会保留 jQuery 对象中的匹配的元素,因而可以在将来再使用这些匹配的元素。
3.detach() 会保留所有绑定的事件、附加的数据

//当在jQ中给p绑定点击事件时 用detach删除后 在添加 点击事件仍可以执行,但是return却不可
var $result = $('p:last').detach();
$('p:last').after($result);

复制

// clone复制, 参数为true可以复制事件。
$('#p3').on('click', function(){
        alert("hello")
    })
$('p').clone(true).appendTo('body')
//当给原标签id为P3的绑定了点击事件时,用clone复制时()里带参数true时 ,可将点击事件也复制过来,默认为flase,即调用复制方法时,默认不复制其方法

动画效果 隐藏 等

// hide隐藏元素,通过display:none  slide滑动, fade淡淡的
// $('#btn1').on('click',function(){
        //     if($('p').css('display')==='block'){
        //         $('p').hide(5000,function(){
        //         console.log('1346');
        // })
        //     }else {
        //         $('p').show(5000,function(){
        //         console.log('1346');
        // })
        //     }
         
        // })

		//上面的方法初学者理解容易但很麻烦,下面用toggle()方法时 简单

        // $('#btn1').click(function(){
        //     // toggle 切换 相当于show hide的结合
        //     $('p').toggle(1000)
        // })

## get() eq()区别

 //get 返回的是dom对象  eq返回的是jQuery对象
  $('p').get(0) //= $('p').eq(0)[0]

index查找索引

console.log($('p').index($('p:last')));
//在p中查找p做后一个的索引 找不到返回-1

4.元素位置 宽高

// offset()可以获取/设置元素偏移量(指元素离浏览器的距离)
// 重要的属性left, top
// position()可以获取元素位置(指元素离它父元素的距离)

综上所述offset()可以设置以及获取元素偏移量 而 position()只能获取

// $('p').css({
        //     border : '1px solid red'
        // }).offset({
        //     left :100,
        //     top:200
        // })//修改偏移量
 //获取偏移量
 console.dir( $('div').offset() );
 console.dir($('div').position())
 //scrollTop 滚动的距离(y轴) scrollLeft()滚动的距离(x轴)
//获取浏览器滚动条高度三种方法
  console.log( $('html').scrollTop());
  console.log( $(window).scrollTop());
  console.log( $(document).scrollTop());
 // width()获取 设置元素的宽度 不包含边框 边距 里面带参数即为修改为xxx
 //innerWidth 不包含边框 包含边距
 //outerWidth 包含边框和边距
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值