jQuery(一) - jQuery基础

238 阅读1分钟

这是我参与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")