从零开始学 Web 之 jQuery(二)获取和操作元素的属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新......
- github:https://github.com/Daotin/Web
- 微信公众号:Web前端之巅
- 博客园:http://www.cnblogs.com/lvonve/
- CSDN:https://blog.csdn.net/lvonve/
在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

一、jQuery获取和操作元素属性
DOM中有很多方式获取元素,比如通过id,通过标签名,通过类名,通过name的值,通过选择器等方式。
在 jQuery 中就只有一种方式:$("选择器")
1、id 选择器
语法: $("#id选择器的值")
$(function () {// 页面加载
$("#btn").click(function () {
console.log($(this).val());
$(this).val("改变按钮");
// this.value = "改变按钮";
});
});
注意:this 是DOM对象。
this.value = "改变按钮"; // 是DOM的写法,没问题。
PS:jQuery 中使用
jQuery对象.val("内容")来设置表单标签的 value 属性。
2、标签选择器
语法: $("标签名")
$(function () {// 页面加载
$("#btn").click(function () {
$("p").text("桃花依旧笑春风");
});
});
1、jQuery 中的
.text(),如果括号中没有值的话,是获取文本内容;如果有值的话,就是设置文本内容。2、 $("p") 是获取所有的 p 标签,然后全部设置文本内容,我们并没有循环设置,但是全部的 p 标签的文本内容都改变了,这是 jQuery 内部自动循环了,这就是隐式迭代。
3、类选择器
语法:$(".类型选择器") ,注意前面的点。
$(function () { // 页面加载
$("#btn").click(function () {
$(".cls").css("border", "1px solid red");
});
});
点击按钮设置应用了 cls 类选择器的标签的边框样式。
PS:jQuery中使用
jQuery对象.css("属性":"值");的方式设置标签的样式。
4、并集选择器
语法:$("div,p,span"),中间使用逗号隔开。
如果上面的 div 有 id 选择器 dv;span 有类选择器 cls;
上面的写法也可以这样写:
$("#dv, p, .cls")
5、交集选择器
语法:$("div.cls")
标签名 + 类样式的方式。
小总结:jQuery中的一些方法
val(); // 获取或设置表单标签中的 value 值。
css(); // 设置元素的 css 样式属性值。
text(); // 获取或设置标签的文本内容----相当于DOM中的innerText
html(); // 获取或设置标签的html内容----相当于DOM中的innerHTML
6、后代(层次)选择器
语法:$("div ul span")
选择 div 下面所有 ul 下的所有的 span 标签,不包括 div 下面的 span,必须在 ul 里面。
7、子代选择器
语法:$("div>span")
选择 div 的直接下一代的所有span,不能隔代。
8、兄弟选择器
语法:$("div~span")
选择的是 div 后面的所有兄弟标签为 span 的标签。
9、直接兄弟选择器
语法:$("div+span")
选择的是div 后面的直接兄弟标签,如果这个直接兄弟为 span 标签则选中,如果为其他标签则不选中。
9.1、案例:各行变色
// body 主要内容
<input type="button" value="按钮" id="btn">
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
</div>
// jQuery 代码
$(function () {
$("#btn").click(function () {
$("div li:odd").css("backgroundColor", "red");
$("div li:even").css("backgroundColor", "yellow");
});
});
:odd选择第奇数个 li 标签。
:even选择第偶数个 li 标签。
9.2、案例:下拉菜单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0 ;
padding: 0;
}
li{
list-style-type: none;
}
a {
text-decoration: none;
}
#dv>ul>li {
float: left;
margin: 0 10px;
width: 50px;
height: 20px;
background-color: pink;
}
#dv>ul>li ul {
display: none;
}
#dv>ul>li li {
background-color: #ff486b;
}
</style>
<script src="jquery-1.12.4.js"></script>
<script>
$(function () {
// 鼠标进入
$("#dv>ul>li").mouseenter(function () {
$(this).children("ul").stop().show(200);
});
// 鼠标离开
$("#dv>ul>li").mouseleave(function () {
$(this).children("ul").stop().hide(200);
});
});
</script>
</head>
<body>
<!--<input type="button" value="按钮" id="btn">-->
<div id="dv">
<ul>
<li>
<a href="javascript:void(0);">周杰伦</a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<a href="javascript:void(0);">林俊杰</a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>
<a href="javascript:void(0);">陈奕迅</a>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
1、jQuery中鼠标进入事件是:
mouseenter;鼠标离开事件是:mouseleave2、css 中的
display:none|block对应的隐藏和显示在 jQuery 中可以使用方法:show() 和 hide();3、show 和 hide 方法中可以添加参数,数字表示毫秒。表示的显示和隐藏的动画效果。
4、stop 方法表示在显示和隐藏之前先清除之前的动画效果,防止鼠标操作过快,动画的显示跟不上操作。
10、过滤选择器
这类选择器都带有冒号。
:eq(index) // 选择一个给定索引值的元素
:odd // 选择索引为奇数的元素
:even // 选择索引为偶数的元素
用法:
$("li:eq(2)") // 匹配li元素中,索引为2的元素
$("li:odd") // 匹配li元素中,索引为奇数的元素
$("li:even") // 匹配li元素中,索引为偶数的元素
10.1、案例:淘宝精品展示
效果:鼠标进入标签,标签的背景颜色改变,并且切换到对应的图片显示。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
#dv {
margin-left: 500px;
margin-top: 200px;
}
.ul1 li, .ul3 li {
width: 50px;
height: 30px;
/*background-color: #24bcff;*/
border: 1px solid red;
text-align: center;
margin-top: -1px;
}
a {
text-decoration: none;
}
ul {
float: left;
}
img {
width: 200px;
height: 93px;
}
.ul2 {
width: 200px;
height: 93px;
overflow: hidden;
}
.ul2 li {
float: left;
}
</style>
</head>
<body>
<div id="dv">
<ul class="ul1">
<li><a href="javascript:void(0);">img1</a></li>
<li><a href="javascript:void(0);">img2</a></li>
<li><a href="javascript:void(0);">img3</a></li>
</ul>
<ul class="ul2">
<li><img src="images/img1.jpg"></li>
<li><img src="images/img2.jpg"></li>
<li><img src="images/img3.jpg"></li>
</ul>
</div>
<script src="common.js"></script>
<script src="jquery-1.12.4.min.js"></script>
<script>
$(function () {
// 左li 鼠标进入
$(".ul1>li").mouseenter(function () {
$(this).css("backgroundColor", "purple");
// console.log($(this).index());
// 隐藏所有的图片
$(".ul2>li").hide();
// 显示丢应的图片
$(".ul2>li:eq("+ $(this).index() +")").show();
});
// 左li 鼠标离开
$(".ul1>li").mouseleave(function () {
$(this).css("backgroundColor", "");
});
});
</script>
</body>
</html>
1、
$(this).index()可以获取当前 li 的索引。2、
:eq()选择器:匹配一个给定索引值的元素。3、
.hide()隐藏一个元素;.show()显示一个元素。
11、筛选选择器
| 名称 | 用法 | 描述 |
|---|---|---|
| children(选择器) | $("ul").children("li"); | (子类选择器)相当于$("ul>li") |
| find(选择器) | $("ul").find("li"); | (后代选择器)相当于$("ul li") |
| eq(index) | $("li").eq(2) | 相当于 $("li:eq(2)"); |
| parent() | $("#first").parent(); | 查找父亲 |
| next() | $("li").next("li"); | 查找下一个兄弟节点 |
| prev() | $("li").prev("li"); | 查找上一个兄弟节点 |
| nextAll() | $("li").nextAll("li"); | 查找后面所有的兄弟节点 |
| prevAll() | $("li").prevAll("li"); | 查找上面所有的兄弟节点 |
| siblings(选择器) | $("#first").siblings("li"); | 查找除自身之外的所有兄弟节点 |
当 next, prev 系列的方法,如果没写参数,则查找所有的兄弟节点;如果有参数,则查找所有兄弟节点中的指定元素。

从零开始学 Web 之 jQuery(二)获取和操作元素的属性的更多相关文章
- 从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(六)为元素绑定多个相同事件,解绑事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(一)jQuery的概念,页面加载事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(七)事件冒泡,事件参数对象,链式编程原理
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(八)each,多库共存,包装集,插件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(三)元素操作,链式编程,动画方法
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 jQuery(四)元素的创建添加与删除,自定义属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...
- 从零开始学 Web 之 CSS3(三)渐变,background属性
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- freemaker超详细 讲解 配置
一.FreeMarker简介 二.第一个FreeMark示例 2.1.新建一个Maven项目 2.2.添加依赖 2.3.添加存放模板的文件夹 2.4.添加模板 2.5.解析模板 2.6.运行结果 三. ...
- cookie和session 以及Django中应用
cookie和session 以及Django中应用 cookie和session机制 cookie和session机制 cookie机制采用的是在客户端保持状态的方案.作用就是为了解决HTTP协 ...
- hibernate save数据的时候报错:ids for this class must be manually assigned before calling save()
这个错误是因为eclipse 这种jpatools 自动生成的实体类内没把id 设置为自增,还有id的值在生成的时候默认为string 即使加上了也所以无法自增 ,所以还需要把string 换成In ...
- java读取jar包中的文件
随手写了一个java小工具,maven打包成功后,发现工具总是读不到打在jar包中的文件信息,要读取的文件位于 /src/main/resources 目录下,打包成功后,文件就在jar包中根目录下, ...
- 洛谷1345 [USACO5.4]奶牛的电信Telecowmunication
原题链接 最小割点数转换成最小割边数的模板题(不过这数据好小). 每个点拆成两个点,连一条容量为\(1\)的边,原图的边容量定为\(+\infty\),然后跑最大流即可. 这里用的是\(Dinic\) ...
- spring rabbitmq集成
pom.xml加 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-clien ...
- Python 多进程编程之fork()
Python实现多进程可以用系统fork()方法和python的multiprocessing类 1,fork()方法是Unix/Linux操作系统提供的,在python的os模块中自带fork(). ...
- MFC设置单文档保存格式以及标题
在使用MFC编写单文档程序时,有时候需要将编辑的内容序列化为文件,使该文件可以直接以自己的程序打开,这时候需要在保存时将文件后缀改为我们想要的格式. 步骤 打开String Table,找到IDR_M ...
- 后台获取url里面加密的参数中,特殊符号+获取到后端后是 一个空格的解决方法
进行加密,加密后的参数中有个+号: 前端的url:http://mtest.cmread.com:8145/nap/p/QRcode.jsp?activityId=11206&vcode=O/ ...
- BASH 正则表达式和文本处理工具
本节内容 1. 什么是正则 2. grep 3. sed 4. awk 5. 其他补充 一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方 ...