jQuery

Posted doner

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery相关的知识,希望对你有一定的参考价值。

昨日回顾

正则:
    var reg = new RegExp('^a')
    var reg = /^a/
    reg.test('xx')
    var s = 'hello'
    s.match(/o/g)    元素
    s.search(/o/)    索引
    s.split(/o/)    分割
    s.replace(/o/gi,'xx')

BOM DOM操作
BOM
    window对象
    location
        location.href 
        location.href = 'url'
        location.reload()   刷新页面
    计时器
        var t = setTimeout(js,2000)  一段时间后做某事
        clearTimeOut(t)
        var t = setInterval     每隔一段时间做事情
        clearInterval(t)

DOM
    标签操作:
    获取标签
        document.getElementById('d1')
        document.getElementsClassName('d1')
        document.getElementsByTagName('p')                  a标签  p标签  放里面
    间接查找
        d.parentElement()   父级标签对象
        d.children  儿子标签
        d.firstElementChild
        d.lastElementChild
        d.nextElementSibling
        d.previousElementSibling
    节点操作
        创造节点
            var p= document.createElement('div')
        添加
            父级节点对象.appendChild(p)
            父级节点对象.insertBefore(p,oldp)
        删除
            父级节点对象.removeChild(p)
            父级节点对象.replaceChild(p,oldp)
    文本内容
        p.innerText 获取文本内容
        p.innerText = 'xx'
        p.innerhtml 获取,带标签
        p.innerHTML = 'xx'  识别标签
    属性操作
        p.setAttribute('age',18)
        p.getAttribute('age')
        p.removeAttribute('age')
        自带的属性   a .href   img. src  link.href   script.src
            script标签.src = 'xxx'
    类操作
        p.classList 
        p.classList.add('c1')
        p.classList.remove('c1')
        p.classList.toggle('c1')
        p.classList.contains('c1')
    值操作
        value
        input标签.value
        input标签.value = 'xxx'
    css样式属性
        p.style.color = 'red'
    事件
        绑定事件的两个方法
        1.
         <div onclick = '函数名(this);'></div>
        <script>
            function    函数名(){逻辑}
        </script>
        2. 
        p.onclick = function(){逻辑}

今日内容

    window.onload文档的加载事件
    script 标签的摆放位置
    作业
    jQuery

jQuery

定义:轻量级的、兼容多浏览器的javascript库。

优势:

把原生js都封装好,又小,不影响加载
丰富的DOM选择器
链式表达
事件
Ajax操作(替换form)
标识符:$ 原来的是jQuery

&('#d1')

dom原生  DOM 对象

封装的 jQuery 对象

3.x 版本 不兼容ie 6,7,8

2.jQuery 转BOM BOM转jQuery

查找标签

基本选择器(同css)
      id选择器:
$("#id") //不管找什么标签,用什么选择器,都必须要写$(""),引号里面再写选择器,通过jQuery找到的标签对象就是一个jQuery对象,用原生JS找到的标签对象叫做DOM对象,看我们上面的jQuery对象部分的内容
      标签选择器
$("tagName")
      class选择器:
$(".className")
      配合使用:
$("div.c1")  // 找到有c1 class类的div标签
      所有元素选择器:
$("*")
      组合选择器:
$("#id, .className, tagName")

层级选择器:(同css)
    x和y可以为任意选择器
$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y     
      
基本筛选器(选择之后进行过滤)
$('li:last')
:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

$("div:has(h1)")// 找到所有后代中有h1标签的div标签,意思是首先找到所有div标签,把这些div标签的后代中有h1的div标签筛选出来
$("div:has(.c1)")// 找到所有后代中有c1样式类(类属性class='c1')的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签  --->移除

属性选择器

[attribute]
[attribute=value]// 属性等于
[attribute!=value]// 属性不等于
<input type="text">
<input type="password">
<input type="checkbox">
$("input[type='checkbox']");// 取到checkbox类型的input标签
$("input[type!='text']");// 取到类型不是text的input标签

表单选择器

$('password')  //简化了
:text
:password
:file
:radio
:checkbox

:submit
:reset
:button

表单对象属性

:enabled
:disabled           //不能输入属性。比如,input框变黑
:checked            //被选中的  选择框
:selected           //下拉框 选中

筛选器方法(将来用的很多)

上一个
$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2") //兄弟标签   直到找到id为i2的标签就结束查找,不包含它       $('#l2').nextUntil('#l4')
下一个
$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")
父级标签
$("#id").parent()
$("#id").parents()  // 查找当前元素的所有的父辈元素(爷爷辈、祖先辈都找到)
$("#id").parentsUntil('body') // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止,这里直到body标签,不包含body标签,基本选择器都可以放到这里面使用。
  儿子和兄弟元素:
$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们,不包含自己,.siblings('#id'),可以在添加选择器进行进一步筛选
find 查找  重要  !
$("div").find("p") 
               等价于$("div p")  这个不能一直链
$(".c6").find("p") 

因为可以链式找一直跟着链  
$("div").filter(".c1")  // 从结果集中过滤出有c1样式类的,从所有的div标签中过滤出有class='c1'属性的div,和find不同,find是找div标签的子子孙孙中找到一个符合条件的标签

  补充(和前面使用冒号的一样 :first等,只不过冒号的那个是写在选择器里面的,而下面的这几个是方法,如此而已,就不说啦):

.first() // 获取匹配的第一个元素   和 $(:first) 不大一样  得出值一样  可以链
.last() // 获取匹配的最后一个元素
.not() // 从匹配元素的集合中删除与指定表达式匹配的元素
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.eq() // 索引值等于指定值的元素

jQuery 绑定事件

$('.c1').click(function ()
{
$(this).css.('brackgroud-color','red')
})

今日内容回顾

jQuery 的两种引入方式
    本地文件引入
    CDN引入(网络资源引入)   //许多的公司会用他的
                    //CDN加速 把数据库分到各个点
                    //就像京东 就近取件
DOM对象和jQuery对象的互相转化
    dom---jquery  $(dom)
    jQuery---dom   jQuery对象[0]

选择器
    基本选择器
        id选择器:$('#id值') 
        类选择器:$('.类值')
        标签喧杂器:$('标签名')
    层级选择器
        $('div p')      找后代
        ...
    基本筛选器
        $('div')    找所有的div  
        $('div : last/eq(索引)/last')
        $('div : has(选择器)/not(选择器)')    
        $('div : even(索引为偶)/odd')
        $('div : gt(索引>)/lt(索引<)')
    属性选择器
        [属性]
        [属性 = '值']
        [属性 != '值']
        input[type = 'text' ]
    表单选择器
        :text
        ....
    表单属性
        :disabled  / enabled
        :checked  /   selected
    筛选器方法
        $('div').find('p')  //所有的p
        $('div p')
        
        filter 
        $('div').filter('.c1')找到的是带有class=c1的div标签
    下一个:平级找
        $('#d1').next()
        $('#d1').nextAll()
        $('#d1').nextUntil('#d2')       
        
    上一个:
        $('#d1').prev()
        $('#d1').prevAll()  #注意找的标签顺序,倒叙
        $('#d1').prevUntil('#d2')
    父亲
        $('#d1').parent()
        $('#d1').parents()
        $('#d1').parentsUntil('body')
    儿子
        $('#d1').children('#d2')  d2的儿子  ‘’内是选择器        ():找所有的
    兄弟
        $('#d1').siblings('#d2')
        $('.d1').first()
        $('.d1').last()
        ...
    绑定点击事件
    $('#d1').c()

以上是关于jQuery的主要内容,如果未能解决你的问题,请参考以下文章

markdown 在WordPress中使用jQuery代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

很实用的JQuery代码片段(转)

几个有用的JavaScript/jQuery代码片段(转)

几个非常实用的JQuery代码片段

高效Web开发的10个jQuery代码片段