评论

收藏

[jQuery] 《锋利的JQuery》notes

开发技术 开发技术 发布于:2021-12-05 11:05 | 阅读数:532 | 评论:0

Chapter 1    认识jQuery

  • jQuery对象和DOM对象的相互转换
获取jQuery对象:
var $variable = JQuery对象;
获取DOM对象:
var variable = DOM对象;
jQuery对象转换成DOM对象:
var $cr = $("#cr");  //jQuery对象var cr = $cr[0];  //DOM对象
Chapter 2    jQuery选择器
$('#tt')  获取的是对象,即使网页上没有这个元素也不会报错。应该根据获取的元素长度来判断是否存在
if ( $("#tt").length > 0) {  //do something}

  • 过滤选择器: 以一个冒号(:)开头
:first    选取第一个元素
:even    选取索引是偶数的所有元素
:odd     选取索引是奇数的所有元素
:eq(index)    选取索引等于index的元素,从0开始计算(只匹配一个元素)

  • 内容过滤选择器
:empty     选取不包含子元素或者文本的空元素
:has(selector)    选取含有选择器所匹配的元素的元素

  • 属性过滤选择器
$("div[id]")     选取拥有属性id的元素

  • 子元素过滤选择器
:nth-child(index)    选取每个父元素下的第index个子元素

  • 表单选择器
:input    选取所有的<input>、<textarea>、<select>和button元素
$("form :input").length,  (注意和$("form input")的区别)

  • 选择器的注意事项
1、    选择器含有特殊符号. 、 [ 等
需要使用转义字符转义
$("#id\\#b")    转义特殊字符“#”,需要两个\\,一个转义用,一个双引号用
2、    选择器含有空格
$('.test :hidden')    带空格的,选取class为"test"的元素里面的隐藏元素
$('.test:hidden')    不带空格,选取隐藏的class为"test"的元素
Chapter 3    jQuery中的DOM操作

  • 属性节点attr()
查找属性节点:$("p").attr("title");    获取<p>元素的节点属性title
删除节点:removeAttr()

  • 插入节点 (<p>我想说</p>)
向元素内部追加内容:
$("p").append("<b>你好</b>");    <p>我想说 <b>你好</b></p>
在元素之后插入内容:
$("p").after("<b>你好</b>");    <p>我想说 </p><b>你好</b>
(insertAfter()    则颠倒了操作)

  • 删除节点
remove()    该节点所包含的所有后代节点将同时被删除,这个方法的返回值的一个指向已被删除的节点的引用。
detach()    也是删除所有匹配的元素,但是和remove()不同的是,所有绑定的事件、附加的数据都会留下来。
empty()    清空节点,只是内容被清空

  • 复制节点
$("li").click(function() {  $(this).clone().appendTo("ul");};
复制的新元素并不具有任何行为。在clone()方法中传递一个参数true,则复制元素的同时复制元素所绑定的事件。

  • 样式
addClass()方法:追加class类
removeClass():移除样式
toggle():行为的重复切换
toggleClass():类名的重复切换(类名存在则删除,不存在则添加)

  • 设置和获取HTML、文本和值
html()     读取或设置某个元素的HTML内容 (类似innerHTML)
text()    读取或设置某个元素的文本内容 (jQuery的text()方法支持所有浏览器)(类似innerText)
val()    设置和获取元素的值 (类似value属性)

  • 遍历节点
children()    取得匹配元素的子元素集合(不考虑其他后代元素)
next()    取得匹配元素后面紧邻的同辈元素
siblings()    取得匹配元素前后所有的同辈元素
Chapter 4    jQuery中的事件和动画
$(document).ready()方法:    在DOM载入就绪时,就能对其进行操纵。每次调用都会在现有行为上追加新的行为。
简写方式
$(function(){...}) 或 $().ready(function(){...});









关注下面的标签,发现更多相似文章