-
在做某些效果的时候,可能会针对同一节点的某一个样式不断的切换,也就是addClass与removeClass的互斥切换,比如隔行换色效果 jQuery提供一个toggleClass方法用于简化这种互斥的逻辑,通过toggleClass方法动态添加删除Class,一次执行相当于addClass,再次执行相当于removeClass .toggleClass( )方法:在匹配的元素集合中的每个元素上添加或删除一个或多个样式类,取决于这个样式类是否存在或值切换属性。即:如果存在(不存在)就删除(添加)一个类查看全部
-
$( "parent > child" ) 子选择器:选择所有指定“parent”元素中指定的"child"的直接子元素。 $("ancestor descendant") 后代选择器:选择给定的祖先元素的所有后代元素, 一个元素的后代可能是该元素的一个孩子,孙子,曾孙等 $("prev + next") 相邻兄弟选择器:选择所有紧接在“prev”元素后的“next”元素 $("prev ~ siblings") 一般兄弟选择器:匹配“prev”元素之后的所有 兄弟元素。具有相同的父元素,并匹配过滤“siblings”选择器查看全部
-
> (大于号)紧跟父子关系 如$("div > p")表示选择div下的直接层是p的节点。 + (加号) 紧跟兄弟关系 如$("div + p")表示选择div同层的左右相邻的p节点。 ~ (波浪线)任意距离兄弟关系 如$("div + p")表示选择div同层的p节点。 (空格) 任意层父子关系 如$("div p")表示选择div下的p节点(不管中间隔多少层)。 ,(逗号) 表示选择器组合,如$("div p, span p")表示div下p节点和span下p节点。查看全部
-
其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;查看全部
-
.html()方法 获取集合中 "第一个" 匹配元素的HTML内容 或 设置 "每一个" 匹配元素的html内容 .text()方法 "得到" 匹配元素集合中 "每个元素" 的文本内容 "结合",包括他们的后代,或 "设置" 匹配元素集合中 "每个元素" 的文本内容为指定的文本内容。 .text()结果返回一个字符串,包含所有匹配元素的合并文本查看全部
-
原生 .tag a:first-child vs JQuery .tag a:first .tag a:first-child: 是以.tag为祖先元素的后代元素a, 同时满足作为.tag下所有父元素的第一个子元素 .tag a:first: 是满足.tag a的元素集合中的第一个元素 lt/gt/eq/even/odd...jquery非原生实现的选择器都是这样的效果 另外jquery的索引从0开始, 原生选择器从1开始 :eq(), :lt(), :gt(), :even, :odd 用来筛选他们前面的匹配表达式的集合元素,“根据之前匹配的元素”在进一步筛选,注意jQuery合集都是从0开始索引 jQuery实现:nth-child(n)是严格来自CSS规范,所以n值是“索引”,也就是说,从1开始计数,:nth-child(index)从1开始的,而eq(index)是从0开始的查看全部
-
jQuery实现:nth-child(n)是严格来自CSS规范,所以n值是“索引”,也就是说,从1开始计数,:nth-child(index)从1开始的,而eq(index)是从0开始的查看全部
-
$("[attr!='value']") 除了会选中指定的属性值不等于给定值的元素, 还会选择不存在指定属性的元素.查看全部
-
通过.val()处理select元素, 当没有选择项被选中,它返回null 对于下拉菜单,没有选值,默认返回第一个元素,像例子中第一个菜单,两个都没有selected属性,但默认返回“慕课网“。 而对于多选菜单,才是没有选值,返回null.查看全部
-
.html(),.text(),.val()三种方法都是用来读取选定元素的内容;只不过.html()是用来读取元素的html内容(包括html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值查看全部
-
没看懂查看全部
-
:hidden 我们有几种方式可以隐藏一个元素: CSS display的值是none。 type="hidden"的表单元素。 宽度和高度 "都" 显式设置为0。 一个祖先元素是隐藏的,该元素是不会在页面上显示 CSS visibility的值是hidden CSS opacity的指是0 _________________________________ :visible 如果元素中占据文档中一定的空间,元素被认为是可见的。 可见元素的宽度 "或" 高度,是大于零。(其中一个为0, 也是可见元素) 元素的visibility: hidden 或 opacity: 0被认为是可见的,因为他们仍然占用空间布局。(隐藏元素也可能是可见元素) 不在文档中的元素是被认为是不可见的,如果当他们被插入到文档中,jQuery没有办法知道他们是否是可见的,因为元素可见性依赖于适用的样式 ( 可见不可见在于元素是否占据空间, 隐藏元素visibility: hidden 或 opacity: 0也可以是可见元素, 另外元素可见性依赖适用的样式)查看全部
-
<ul> <li>list item 1</li> <li>list item 2 <ul> <li>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li> </ul> $('li'):has('ul').css('background-color', 'red'); 该调用的结果是,项目 2 的背景被设置为红色,这是因为该项目是后代中唯一拥有 <ul> 的 <li>。(而不是项目2中的ul元素背景色为红色)查看全部
-
jQuery合集都是从0开始索引 0为偶数...(还是要记一下...) gt/lt/eq 类似于> < = 所取的区间 selector1:not(selector2) 是基于匹配selector1的元素集合中, 除掉匹配selector2的剩下元素集合(选中的元素仍是匹配selector1的部分元素)查看全部
-
jQuery的属性与样式之元素的数据储存 html5 dataset是新的HTML5标准,允许你在普通的元素标签里嵌入类似的data-*的属性,来试现一些简单数据的存取。它的数量不受限制,并且也能有JavaScript动态修改,也支持CSS选择器进行样式设置。这使得data属性特别灵活,也非常强大。有了这样的属性我们能狗更加有序直观的进行数据预设或存储。那么不在支持HTML5标准的浏览器中,我们如何实现数据存取?jQuery就提供了一个.data()的方法来处理这个问题 使用jQuery初学者一般不是很关心data方式,这个方法是jQuery内部预用的,可以用来做性能优化,比如sizzle选择中可以用来缓存一个API了,通常用于我们存放临时的一些数据,因为它是直接跟DOM元素对象绑定在一起的。 jQuery提供的存储接口: jQuery.data(element,key,value)//静态接口,存数据 jQuery.data(element,key)//静态接口,取数据 .data(key,value)//实例接口,存数据 .data(key)//实例接口,存数据 2个方法在使用上存取都是通一个接口,传递元素,键值数据。在jQuery的官方文档中,建议.data()方法来代替。 我们把DOM可以看作一个对象,那么我们往对象上可以存基本类型,引用类型的数据的,但是这里会引发一个问题,可能会存在循环引用的内存泄漏风险 通过jQuery提供的数据接口,就很好的处理了这个问题了,我们不需要关心它底层是如何实现的,只需要按照对应data方法使用就行了 同样的也提供2个对应的删除接口,使用上与data方法其实是一致的,只不过是一个是增加一个是删除罢了 jQuery.removeData(element[,name]) .removeData([name])查看全部
举报
0/150
提交
取消