javascript学习9、jQuery对象

jQuery中文文档

jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。

一、查找元素

1、常用选择器

1.1 基本选择器

$("*")                //所有元素
$("#id")             //id选择器
$(".class")          //class选择器
$("element")      //标签选择器
$(".class,p,div")  //并列选择器

1.2层级选择器

$(".outer div")    // 所有的后代
$(".outer>div")    // 所有的子代 
$(".outer+div")    // 匹配所有跟在.outer后面的div
$(".outer~div")    // .outer后面的所有div

1.3 基本筛选器

$("li:first")   // 所有li标签中第一个标签
$("li:last")    // 所有li标签中最后一个标签
$("li:even")    // 所有li标签中偶数标签
$("li:odd")     // 所有li标签中奇数标签
$("li:eq(2)")   // 所有li标签中,索引是2的那个标签
$("li:gt(1)")   // 所有li标签中,索引大于1的标签

1.4 属性选择器

$("[id='div1']")     //id属性等于div1的标签对象
$("[xxx='sb']")      //xxx属性等于sb的标签对象
$("input[type='text']") 可以缩写 $(":text")

2、常用筛选器

2.1  过滤筛选器

$("li").eq(2)      // 和$("li:eq(2)")是一样的
$("li").first()    // 和$(":first")是一样的
$("li").last()     // 和$(":last")是一样的
$("ul li").hasclass("test")   // 检测li中的是否含有某个特定的类名,有的话返回true

2.2  查找筛选器

$("div").children()    // div中的子标签,只找儿子辈  $("div").children(".div").css("color","red") 
$("div").find()        // div中的子标签,后代都找  $("form").find(:text,:password)   // form标签中找到:text,:password标签

$("div").next()        // div标签下一个标签
$("div").nextAll()     // div标签下一个同级所有标签
$("div").nextUntil()   // div标签下一个同级区间内所有标签

$("div").prev()        // div标签上一个标签
$("div").prevAll()     // div标签上一个同级所有标签
$("div").prevUntil()   // div标签上一个同级区间内所有标签

$("div").parent()      // div标签的父标签
$("div").parents()     // div标签的爷爷标签集合
$("div").parentsUntil()// div标签的爷爷标签区间内

$("input").siblings() // input的同辈标签

二、操作元素

1、属性操作

$(":text").html()                // 获取text标签的内容和dom中的innerHtml()一样
$(":text").text()                 // 获取text标签的内容和dom中的innerText()一样
$(":text").val()                  // 获取text value属性的值和dom中的.value一样
$(".test").attr("name")       // 获取test类中name属性对应的值
$(".test").attr("name","sb")  // 设置test类中name属性对应的值
$(".test").attr("checked","checked")  // 设置test类中checked属性对应的值为checked
$(":checkbox").removeAttr("checked")  // 删除checkbox标签中的checked属性
$(".test").prop("checked",true)    // 设置checked属性为true
$(".test").addClass("hide")          // 增加样式
$(".test").removeClass("hide")    // 删除样式

2、CSS操作

(样式)   css("{color:'red',backgroud:'blue'}")
(位置)   offset()    position()  scrollTop()  scrollLeft()   
(尺寸)   innerHeight()不包含边框, outerHeight()包含边框, 两个都包含padding height()不包含边框

3、文档处理

内部插入  //找到父级标签内插入,相当于插入的是children
    append()       //父级最后一个插入标签 $("#c1").append("<b>hello</b>")
    appento()      //将标签插入父级最后一个 $("p").appendTo("div")
    prepend()      //父级第一个插入标签 $("#c1").prepend("<b>hello</b>")
    prependTo()   //将标签插入父级第一个 $("p").appendTo("div")
 
外部插入 //找到父级标签外插入,相当于插入的是siblings
    before()          //父级前一个插入标签 $("#c1").before("<b>hello</b>")
    insertBefore()  //将标签插入父级前一个
    after()            //父级后一个插入标签 $("#c1").after("<b>hello</b>")
    insertAfter()    //将标签插入父级后一个
 
标签内容处理 //清空标签                  
    remove()   // 删除整个标签对象
    empty()     // 清空标签对象内的所有标签对象,但是父级标签还存在
    clone()      // 复制标签对象

4、事件

$("p").click(function(){})
$("p").bind("click",function(){})                   
$("ul").delegate("li","click",function(){})  // 事件委托,延迟绑定事件的一种方式

 

三、jQuery循环

<script src="jquery-3.3.1"></script>
<script>
    li = [1,2,3,4,5]
    $.each(li,function(i,x){
        console.log(i,x)
    });

    //第二种
    $("table tr").each(function(this){
        $(this).addClass(".hide")
    });
</script>

 

posted @ 2019-06-12 18:10  Python自动化运维之路  阅读(156)  评论(0)    收藏  举报