一、查找

1.jQuery三大特性

1.一个函数两用
    没给新值,默认执行获取操作
    给了新值,变为执行修改操作
    如: .html()  //获取内容
         .html(xxx)  //修改内容为xxx
2.自带遍历
    对jQuery对象调用一次简化版API,等效于对数组对象中每个元素都调用一次API
3.几乎每个jQuery都返回正在使用的jQuery对象本身

2.按选择器查找

$(...)支持所有css选择器
css中没有的,jquery添加的:
1.内容过滤
    1.按包含的文本内容过滤
        :contains(text)  查找内容中包含指定text文本的元素
    2.按子元素特征过滤
        :has(selector)  查找内容中包含符合selector要求的子元素的父元素
    3.按是否包含内容来过滤
        :empty  空元素
        :parent  非空元素
2.可见性过滤
    :hidden  只能选择两种情况的隐藏
        display:none    input type=hidden
    :visible  是:hidden的反义
3.状态过滤
    三大状态: :disabled    :checked    :selected
4.表单元素过滤
    :input  选择所有四大类表单元素
        input    button    textarea    selected
    :[type]  每种input都对应一种专门的选择器
        包括: :text    :password    :checkbox    :radio    ...
当可以用css选择器时优先使用css选择器,因为效率高,jquery选择器都是用js程序模拟出来的

3.按节点间关系

父元素: .parent() => .parentNode
直接子元素: .children() => .children
    查找父元素下符合条件的子元素:
        .children(["selector"])  只能查找直接子元素
        .find("selector")  在所有后代中查找
第一个子元素: .children().first() => .firstElementChild
最后一个子元素: .children().last() => .lastElementChild
前一个兄弟: .prev() => .previousElementSibling
                  .prevAll()  //前边所有的兄弟
后一个兄弟: .next() => .nextElementSibling
                  .nextAll()  //后边所有的兄弟
除我之外,所有兄弟: .siblings()

二、修改(一个函数两用)

1.内容

.html() =>.innerHTML
.text() => .textContent
.val() => .value

2.属性

标准属性: .arr("属性名"[,值])
状态属性: .prop("状态属性"[,bool])
自定义扩展属性: .data("属性名"[,值])

3.样式

修改内联样式
    1.仅修改一个css属性
        .css("css属性名","值") => .style.css属性=值
    2.批量修改多个css属性
        .css({
            css属性名:值,
                 ... : ...
        })
获取值
    .css("css属性名") =>getComputedStyle()获得计算后的样式

4.用class批量修改样式

为元素追加一个class: $(...).addClass("class名")
为元素移除一个class: $(...).removeClass("class名")
判断是否包含一个class: $(...).hasClass("class名")
为元素切换一个class: $(...).toggleClass("class名")
    if($(...).hasClass("class名"))
        $(...).removeClass("class名")
    else
        $(...).addClass("class名")
补充:.is("selector") 判断当前元素是否符合selector的条件

5.  .index()

1. var i=$("selector").index(jq对象/DOM对象)
    查找右边的jq对象或DOM对象,在左边的结果集合中的下标位置
2. 如果在同一个父元素下找某个子元素的位置
    var i=$("child").index();

三、添加、删除、替换、克隆

1.添加 

1.用$()创建一个新元素: var $新元素=$("html片段")
2.将新元素添加到dom树:
    $("parent").append($新元素)
        .prepend($新元素)
    $("child").before($新元素)
        .after($新元素)
简化: $("parent").append/prepend("html片段")
     $("child").before/after("HTML片段")

2.删除

$(...).remove()

3.替换

$("selector").replaceWith(jq对象|DOM对象)

4.克隆

克隆: var $clone_elem=$(...).clone()
注意: 默认浅克隆(仅克隆样式和属性, 不克隆行为)
深克隆(即克隆样式和属性,又克隆行为): $(...).clone(true)