Jquery:强大的选择器<二>
今天跟着资料做了一个示例,为什么我感觉自己做的没书上的好看呢?好吧,我承认自己对css样式只懂一点皮毛,我也不准备深度的去学习它,因为……公司有美工嘛!
这个小示例只是实现了元素的隐藏和显示、元素class属性的添加与移除,HTML代码如下:
<div class="SubCategoryBox">
<ul>
<li><a href="#">佳能</a><i>()</i></li>
<li><a href="#">索尼</a><i>()</i></li>
<li><a href="#">三星</a><i>()</i></li>
<li><a href="#">尼康</a><i>()</i></li>
<li><a href="#">松下</a><i>()</i></li>
<li><a href="#">卡西欧</a><i>()</i></li>
<li><a href="#">富士</a><i>()</i></li>
<li><a href="#">柯达</a><i>()</i></li>
<li><a href="#">宾得</a><i>()</i></li>
<li><a href="#">理光</a><i>()</i></li>
<li><a href="#">奥林巴斯</a><i>()</i></li>
<li><a href="#">明基</a><i>()</i></li>
<li><a href="#">爱国者</a><i>()</i></li>
<li><a href="#">其它品牌相机</a><i>()</i></li>
</ul>
<br />
</div>
<div class="showmore">
<a href="#"><span>显示全部品牌</span></a>
</div>
HTML
js代码如下:
<script type="text/javascript">
$(function () {
var item = $('ul li:gt(5):not(:last)');//选取所有品牌中索引大于5的且不包含最后一项的元素。
item.hide();//隐藏元素
var btnToogle = $('div.showmore>a');//选取按钮
btnToogle.click(
function () {
if (item.is(":visible"))//判断选取的元素是否隐藏
{
item.hide();
$(this).find('span').text("显示全部品牌");//其实一直不怎么懂this的用法,有时间了会去查查资料的
$('ul li').removeClass("promoted");//移除class样式
}
else
{
item.show();
$(this).find('span').text("显示精简品牌");
$('ul li').filter(":contains('三星'),:contains('索尼'),:contains('奥林巴斯')").addClass("promoted")
}
return false;//超链接不跳转
}
)
}
);
</script>
js
点击按钮,隐藏元素时的效果图如下:

点击按钮,显示元素时的效果图如下:

其实今天的收获应该有三点:
1、自己动手做了一次,记忆更深刻了一点。
2、明白了什么是DOM,以前总是用document,也知道DOM这个词,但是不了解它,今天查了一下资料,专业一点的解释是:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我对它的理解是:类似于HTML中的标签,一层嵌套一层,而最外面的是<html>标签,如果把这些嵌套看成是树,那么<html>标签就是根节点,这是我们看到的,其实我们看不到的是document才是这棵树的根节点,我们通过document可以访问下面的任何子节点。
3、find()和filter()的区别。这是我以前不知道的,find()是在子元素中查找匹配元素,而filter()是对自身的集合元素进行筛选。
Jquery:强大的选择器<二>的更多相关文章
- jQuery自学笔记(二):jQuery选择器
一.简单选择器 ID选择器:$('#box') 元素标签名:$('div') 类选择器:$('.box') jQuery提供了length和size()两种方法查看返回的元素,可验证ID在页面只出现一 ...
- jQuery学习笔记(二):this相关问题及选择器
上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理解的,this就是指代当前操作的DOM对象. 在jQuery中,this可以用于单 ...
- webform(九)——JQuery基础(选择器、事件、DOM操作)
JQuery -- 一个js函数包 一.选择器 1.基本选择器 ①id选择器:# ②class选择器:. ③标签名选择:标签名 ④并列选择:用,隔开 ⑤后代选 ...
- jQuery.validator 详解二
前言:上一篇详细的介绍了jQuery.validator( 版本v1.13.0 )的验证规则,这一篇重点讲述它的源码结构,及如何来对元素进行验证,错误消息提示的内部实现 一.插件结构(组织方式) 在讲 ...
- JQuery:JQuery语法、选择器、事件处理
JQuery语法: 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). 一.语法:jQuery 语法是通过选取 HTM ...
- jQuery的dom操作(二)转
addClass() 向匹配的元素添加指定的类名. after() 在匹配的元素之后插入内容. append() 向匹配的元素内部追加内容. appendTo() 向匹配的元素内部追加内容. attr ...
- 23、jQuery九类选择器/jQuery常用Method-API/jQuery常用Event-API
1)掌握jQuery九类选择器及应用 2)掌握jQuery常用Method-API 3)掌握jQuery常用Event-API 一)jQuery九类选择器[参见jQueryAPI.chm手册] 目 ...
- JQuery总结:选择器归纳、DOM遍历和事件处理、DOM完全操作和动画 (转)
JQuery总结:选择器归纳.DOM遍历和事件处理.DOM完全操作和动画 转至元数据结尾 我们后台可能用到的页面一般都是用jquery取值赋值的,发现一片不错的文章 目录 JQuery总结一:选择器归 ...
- jQuery中的选择器《思维导图》
学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...
随机推荐
- HIVE快速入门
(一)简单入门 1.创建一个表 create table if not exists ljh_emp( name string, salary float, gender string) commen ...
- C++ 知识点 2
基本类型常量 const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别? const int ...
- Caesar cipher
#include <iostream> using namespace std; int main() {int k,i; char s[5]; cin>>k; for(; ...
- PHP 计算页面执行时间
PHP 计算页面执行时间 < ?php class runtime { var $StartTime = 0; var $StopTime = 0; function get_microtime ...
- js定时跳转
在项目中有时会用到定时跳转,自己收藏了一个比较好用的 js写的,不依赖jQuery <script type="text/javascript"> function c ...
- Arduino 板子 COM 接口找不到设备
复位 Arduino 板子 1.打开官方的blink程序. 2.重新拔插usb. 3.点下载. 4.按住左上角的复位按键不放. 5.等显示开始下载瞬间松开按键.把握住那个瞬间. 6.多试验几次看能 ...
- C C++ OC iOS面试重点问题(一)
C C++ OC iOS面试重点问题(一) 1.字符串常量需要加\0 2.逻辑运算 位操作(经典:实现两个数的交换) 3.关键字 4.引用和指针的区别和联系 5.如何引用一个已经定义过的全局变量? ...
- Lintcode--003(乱序字符串)
给出一个字符串数组S,找到其中所有的乱序字符串(Anagram).如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中. 注意事项 所有的字符串都只包含小写字母 样例 ...
- 用tee和script来记录终端输出
如何在输出信息的同时把数据保存到文件当中? 一,如何把命令运行的结果保存到文件当中?这个问题太简单了,大家都知道,用 > 把输出转向就可以了 例子:[lhd@hongdi ~]$ ls > ...
- QT 串口通信 数据16进制发送
在QT中进行串口通信时,很多情况要用到发送16进制的数据.从网上找来了一段代码测试能用: static QByteArray QString2Hex(QString str) { QByteArray ...