以下内容分别来自 自己总结 和 w3school
js库
为了简化JavaScript开发的js库
当前流行的有:
-
prototype
-
dojo
-
ext js
-
mootools
-
jquery
-
JQuery
优势
- 轻量级
- 强大的选择器
- 出色的dom封装
- 可靠的事件处理机制
- 完善的Ajax
- 出色的浏览器兼容
使用
导入JQuery库
<script src="jquery-1.8.2.js"></script>
1. jQuery对象和dom对象
- jQuery对象就是通过jQuery($())包装dom对象后产生的对象
- jQuery对象时jQuery独有的,如果一个对象是jQuery对象,那么他就可以使用jQuery的方法,如:$("#btn").html();
- jQuery对象无法使用dom对象的任何方法,同样dom对象也不能使用jQuery的方法
- 约定: 如果获取的是jQuery对象,则在变量前加$
- var $varable = jQuery对象
- var variable = dom对象
-
jQuery转换为dom对象
- jQuery对象是一个数组对象,可以通过[index]的方法得到对应的dom对象
var $cr = $("#cr")
var cr = $cr[0]
-
dom对象转为jQuery对象
- 只需要用$()把dom包装起来就可以获得一个jQuery对象
var cr = document.getElementById("cr");
var $cr = $(cr);
2.jQuery的选择器
关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。
jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
选择器允许您对 HTML 元素组或单个元素进行操作。
在 HTML DOM 术语中:
选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。
1) jQuery 元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
$("p") 选取 <p> 元素。
$("p.intro") 选取所有 class="intro" 的 <p> 元素。
$("p#demo") 选取所有 id="demo" 的 <p> 元素。
2) jQuery 属性选择器
jQuery 使用 XPath 表达式来选择带有给定属性的元素。
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
3) jQuery CSS 选择器
jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性
下面的例子把所有 p 元素的背景颜色更改为红色:。
$("p").css("background-color","red");
4) jQuery 选择器列表
选择器 | 实例 | 选取 |
---|---|---|
* | $("*") | 所有元素 |
#id | $("#lastname") | id="lastname" 的元素 |
.class | $(".intro") | 所有 class="intro" 的元素 |
element | $("p") | 所有 <p> 元素 |
.class.class | $(".intro.demo") | 所有 class="intro" 且 class="demo" 的元素 |
:first | $("p:first") | 第一个 <p> 元素 |
:last | $("p:last") | 最后一个 <p> 元素 |
:even | $("tr:even") | 所有偶数 <tr> 元素 |
:odd | $("tr:odd") | 所有奇数 <tr> 元素 |
:eq(index) | $("ul li:eq(3)") | 列表中的第四个元素(index 从 0 开始) |
:gt(no) | $("ul li:gt(3)") | 列出 index 大于 3 的元素 |
:lt(no) | $("ul li:lt(3)") | 列出 index 小于 3 的元素 |
:not(selector) | $("input:not(:empty)") | 所有不为空的 input 元素 |
:header | $(":header") | 所有标题元素 <h1> - <h6> |
:animated | 所有动画元素 | |
:contains(text) | $(":contains('W3School')") | 包含指定字符串的所有元素 |
:empty | $(":empty") | 无子(元素)节点的所有元素 |
:hidden | $("p:hidden") | 所有隐藏的 <p> 元素 |
:visible | $("table:visible") | 所有可见的表格 |
s1,s2,s3 | $("th,td,.intro") | 所有带有匹配选择的元素 |
[attribute] | $("[href]") | 所有带有 href 属性的元素 |
[attribute=value] | $("[href='#']") | 所有 href 属性的值等于 "#" 的元素 |
[attribute!=value] | $("[href!='#']") | 所有 href 属性的值不等于 "#" 的元素 |
[attribute$=value] | $("[href$='.jpg']") | 所有 href 属性的值包含以 ".jpg" 结尾的元素 |
:input | $(":input") | 所有 <input> 元素 |
:text | $(":text") | 所有 type="text" 的 <input> 元素 |
:password | $(":password") | 所有 type="password" 的 <input> 元素 |
:radio | $(":radio") | 所有 type="radio" 的 <input> 元素 |
:checkbox | $(":checkbox") | 所有 type="checkbox" 的 <input> 元素 |
:submit | $(":submit") | 所有 type="submit" 的 <input> 元素 |
:reset | $(":reset") | 所有 type="reset" 的 <input> 元素 |
:button | $(":button") | 所有 type="button" 的 <input> 元素 |
:image | $(":image") | 所有 type="image" 的 <input> 元素 |
:file | $(":file") | 所有 type="file" 的 <input> 元素 |
:enabled | $(":enabled") | 所有激活的 input 元素 |
:disabled | $(":disabled") | 所有禁用的 input 元素 |
:selected | $(":selected") | 所有被选取的 input 元素 |
:checked | $(":checked") | 所有被选中的 input 元素 |
3.jQuery对象的几个方法
1) . val();
- 获取或设置表达元素的value值
//设置值
$(*:Text).val("值");
//获取值
$(*:Text).val();
2) . attr();
- 和val类似
//设置值
attr(name,val);
//获取值
attr(name);
3) . each();
- 对jQuery对象进行遍历,参数为function,函数内部的this是正在遍历的dom对象
$("select :selectde").each(function(){
alert(this.value);
});
4) . text();
- 和val类似
text(); 获取元素节点的 文本子节点的值
text(str); 设置元素节点的文本子节点的值