这是我参与8月更文挑战的第22天,活动详情查看:8月更文挑战
$()
在 jQuery 中,只有一个全局变量 $,这是 jQuery 的一大特点,避免了全局变量的污染。
最开始变量不叫做 $,叫做 jQuery() 方法,在库中两个名字是并存的,都可以使用。
jQuery 对象
$() 方法获取到的内容叫做 jQuery 对象
内部封装了大量的属性和方法,比如 .css() 和 .html() 和 .animate() 等方法都是jQuery 对象的方法。
通过 $() 获取的元素是一组元素,进行操作时是批量操作。
$("p").css("background-color","pink")
$("p").html("你好")
$("p").animate({"width": 300},1000)
jQuery 对象和原生 js 对象
-
jQuery 对象得到后,只能使用 jQuery 对象的方法,不能使用原生 js 元素对象的方法。
-
原生 JS 对象也不能使用 jQuery 的方法。
jQuery 对象实际是一个类数组对象,内部包含所有的获取的原生 js 对象,以及大量的jQuery 的方法和属性。
jQuery 对象中原生 js 对象的个数
// 获取 JQ 对象内部 原生 JS 对象的个数
console.log($("p").length)
console.log($("p").size())
互相转换
-
jQuery 转原生:直接利用数组下标方式,得到 jQuery 封装的原生对象。
-
原生转 jQuery:将原生对象用 $() 方法包裹即可。
JQ 对象转换为 原生 JS 对象:
// JQ 对象转换为 原生 JS 对象
var $ps = $("p")
$ps[0].innerHTML = "你好"
原生 JS 对象 转换为 JQ 对象:
// 原生 JS 对象 转换为 JQ 对象
var op = document.getElementsByTagName("p")[0]
$(op).css("background-color","skyblue")
jQuery 选择器
CSS2.1 和 CSS3 选择器
• 参数:必须是字符串格式的选择器。
// 表单对象属性
$("input:disabled").css("background-color","red")
$("input:enabled").css("background-color","pink")
// 表单
$(":input").css("background-color","red")
$(":text").css("background-color","red")
:input
表示选中所有input标签
筛选选择器
也叫过滤选择器,jQuery 中新增的自己的选择器。
用法:在基础选择器后面增加一些筛选的单词,筛选出前面选择器的选中内容中一部分。或者可以作为高级选择器的一部分。
常用:
$(":first") 第一个
$(":last") 最后一个
$(":eq(index)") 下标为 index 的项
$(":gt(index)") 大于下标为 index 的项
$(":lt(index)") 小于下标为 index 的项
$(":odd") 下标为奇数的项
$(":even") 下标为偶数的项
$(":not(selector)") 去除所有与给定选择器匹配的元素
// 筛选选择器
$("p:first").css("background-color","pink")
$("p:last").css("background-color","skyblue")
$("p:eq(5)").css("background-color","skyblue")
$("p:gt(5)").css("background-color","skyblue")
$("p:lt(5)").css("background-color","skyblue")
$("p:odd").css("background-color","skyblue")
$("p:even").css("background-color","skyblue")
$("p:not(:eq(6))").css("background-color","skyblue")
$("p:not(.para)").css("background-color","skyblue") //排除类名为para的项
筛选方法
也叫过滤方法,jQuery 中除了用选择器选择元素,jQuery 对象内还封装了一些对应的筛选方法。
常用:
$("p").first()
$("p").last()
$("p").eq(3)
// 筛选方法
$("p").first().css("background-color","skyblue")
$("p").last().css("background-color","skyblue")
$("p").eq(4).css("background-color","skyblue")