一 jQuery是什么

  •  jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team。
  •  jQuery是继prototype之后又一个优秀的Javascript框架。其宗旨是——WRITE LESS,DO MORE!
  • 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器
  •  jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocuments、events、实现动画效果,并且方便地为网站提供AJAX交互。
  • jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。

二 jQuery内容

  • 0x01. 选择器
  • 0x02. 筛选器
  • 0x03. 样式操作
  • 0x04. 文本操作
  • 0x05. 属性操作
  • 0x06. 文档处理
  • 0x07. 事件
  • 0x08. 动画效果
  • 0x09. 插件
  • 0x10. each、data、Ajax
  • jQuery文件下载:jQuery官网

三 什么是jQuery对象

jQuery 对象就是通过jQuery包装DOM对象后产生的对象。

jQuery 对象是 jQuery 独有的如果一个对象是 jQuery 对象那么它就可以使用 jQuery 里的方法: $(“#test”).html();

$("#test").html()   
       //意思是指:获取ID为test的元素内的html代码。其中html()是jQuery里的方法
 
       // 这段代码等同于用DOM实现代码: document.getElementById(" test ").innerHTML;
 
       //虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法.乱使用会报错
 
       //约定:如果获取的是 jQuery 对象, 那么要在变量前面加上$.
 
var $variable = jQuery 对象
var variable = DOM 对象
 
$variable[0]:jquery对象转为dom对象      $("#msg").html(); $("#msg")[0].innerHTML 

jquery的基础语法:$(selector).action()

详细参考http://jquery.cuishifeng.cn/

四 寻找元素(选择器和筛选器)

4.1 选择器

4.1.1 基本选择器 

$("*")//所有元素选择器  
$("#id")//id选择器   
$(".class")//class选择器  
$("element")//标签选择器  
$(".class,p,div")//组合选择器 
$("div.c1")//配合使用;找到有c1 class类的div标签;

4.1.2 层级选择器    

x和y可以为任意选择器

$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y

4.1.3 基本筛选器 

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)


//例子:
$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1 class的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签

注意:

  1. 这里的hasnot不是简单的 有和 没有的意思,它俩没啥关系(不是一组)
  2. :not:has通常用.not().has()代替。
  3. $("div:has(.c1)")中的:has(.c1)等价于$("div .c1"),也就是找后代里面有c1div标签。

 

4.1.4 属性选择器    

$('[>)   
$('["alex="sb"][id]')
[attribute]
[attribute=value]// 属性等于
[attribute!=value]// 属性不等于

// 示例
<input type="text">
<input type="password">
<input type="checkbox">
$("input[type='checkbox']");// 取到checkbox类型的input标签
$("input[type!='text']");// 取到类型不是text的input标签

4.1.5 表单选择器   

$("[type='text']")----->$(":text")         注意只适用于input标签  : $("input:checked")

 

实例之左侧菜单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>left_menu</title>

    <style>
          .menu{
              height: 500px;
              width: 30%;
              background-color: gainsboro;
              float: left;
          }
          .content{
              height: 500px;
              width: 70%;
              background-color: rebeccapurple;
              float: left;
          }
         .title{
             line-height: 50px;
             background-color: #425a66;
             color: forestgreen;}


         .hide{
             display: none;
         }


    </style>
</head>
<body>

<div class="outer">
    <div class="menu">
        <div class="item">
            <div class="title">菜单一</div>
            <div class="con">
                <div>111</div>
                <div>111</div>
                <div>111</div>
            </div>
        </div>
        <div class="item">
            <div class="title">菜单二</div>
            <div class="con hide">
                <div>111</div>
                <div>111</div>
                <div>111</div>
            </div>
        </div>
        <div class="item">
            <div class="title">菜单三</div>
            <div class="con hide">
                <div>111</div>
                <div>111</div>
                <div>111</div>
            </div>
        </div>

    </div>
    <div class="content"></div>

</div>
<script src="jquery-3.2.1.js"></script>
<script>
           $(".item .title").click(function () {
                $(this).next().removeClass("hide").parent().siblings().children(".con").addClass("hide");

//                $(this).next().removeClass("hide");
//                $(this).parent().siblings().children(".con").addClass("hide");
           })
</script>


</body>
</html>
左侧菜单示例

相关文章: