一片文章叫你玩转JQuery

news/2024/7/10 22:57:34 标签: java, 初学, JS, jquery, javascript
1.为什么要学习jQuery?
    js的缺点:
        1)花费10天时间开发设计,js中有很多的漏洞;不适合于大系统的开发。
        2)获取dom元素时,是很不灵活的,主要通过4个方法。
        3)方法的长度太长,记忆难度比较大。
        4)方法还有浏览器大战遗留下的问题,开发时需要做兼容性处理。
    若像CSS一样获取DOM元素:
        [1] id选择器:#id名称
        [2] class 选择器:.className
        [3] 标签选择器:tagName

2.jQuery 的简介:
    1)jQuery 是 js 的库文件,对js做了封装。类似于jar包的概念。
    2)jQuery 可以像CSS一样获取DOM元素。
    3)jQuery 提供了很多的方法,方便对DOM元素的操作。
    4)jQuery 提供了很多的插件,方便开发者使用。(jQuerySchool)
    5)jQuery 社区网站特别的繁荣。

3.jQuery 在开发领域:占了举足轻重的作用;
    一个项目而言:一半java一半jQuery.


选择器是jQuery的核心重点,要操作dom元素,首先要通过选择器获取DOM元素
所有的选择器(除了过滤方法),其他的都是css选择器。
1.基本选择器:
    [1] id选择器:#id名称
    [2] class选择器:.className
    [3] 标签选择器:tagName
java"><div id="oDiv">div元素</div>
<h1 class="cls">H1 元素</h1>
<h2 class="cls">H2 元素</h2>
<h3 class="cls">H3 元素</h3>
<ul>
   <li>吃饭</li>
   <li>睡觉</li>
   <li>淘宝双11</li>
</ul>
<!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   //ID选择器
   $("#oDiv").css("color","red");
   //class选择器
   $(".cls").css("color","green");
   //标签选择器
   $("li").css("color","blue");
</script>

2.层级选择器:查找某个元素下的子元素或者后代元素
    [1] parent > child : 查找parent下所有的子元素
    [2] parent child : 查找parent下所有的后代元素
java"><body>
   <div id="haha">
       <p>你好1</p>
       <p>你好2</p>
       <p>你好3</p>
   </div>
   <div>
       <p>你好4</p>
       <p>你好5</p>
       <p>你好6</p>
   </div>
   <ul id="ul">
       <li>
          <ul>
              <li>1</li>
              <li>2</li>
              <li>3</li>
          </ul>
       </li>
       <li>
          <ul>
              <li>4</li>
              <li>5</li>
              <li>6</li>
          </ul>
       </li>
   </ul>

3.基本过滤选择器:从一堆dom元素中,过滤出需要的元素
    [1] :first , 获取第一个元素
    [2] :last , 获取最后一个元素
    [3] :eq(index) , 获取第index个元素,index下标从0开始
    [4] :gt(index) , 获取>index的元素,index下标从0开始
    [5] :lt(index) , 获取<index的元素,index下标从0开始
    [6] :even , 获取偶数行元素,以下标为准 0,2,4 ...
    [7] :odd , 获取奇数行元素,以下标为准 1,3,5 ...

java"><!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   //:first , 过滤出第一个元素
   $("tr:first").css("background","red");
   //:last , 过滤出最后一个元素
   $("tr:last").css("background","blue");
   //:eq(index) : 将第三行设置黄色
   $("tr:eq(2)").css("background","yellow");
   //:gt(index) greater
   $("tr:gt(3)").css("background","green");
   //:lt(index) letter
   $("tr:lt(2)").css("background","gray");
   //实现隔行变色
   //:even
   $("tr:even").css("background","pink");
   //:odd
   $("tr:odd").css("background","orange");
</script>

4.过滤方法
    [1] eq(index) : 通过下标获取元素,等价于 :eq(index)
    [2] first() : 获取第一个元素,等价于 :first
    [3] last() : 获取最后一个元素,等价于 :last
    [4] next() : 获取紧挨着的下一个同胞元素
    [5] prev() : 获取紧挨着的上一个同胞元素
    [6] siblings() : 获取所有的同胞元素
    [7] parent() : 获取父元素
    [8] parents(选择器) : 通过选择器获取任何一个祖先元素
    [9] find(选择器) :通过选择器查找后代元素,等价于后代选择器

java"><body>
<div>table 之前的div元素</div>
<table border="1" cellpadding="5" cellspacing="0" width="500">
   <tr>
       <td>姓名</td>
       <td>年龄</td>
       <td>性别</td>
       <td>地址</td>
   </tr>
   <tr>
       <td>张三</td>
       <td>23</td>
       <td>男</td>
       <td>北京海淀</td>
   </tr>
   <tr>
       <td>李四</td>
       <td>44</td>
       <td>女</td>
       <td>北京通州</td>
   </tr>
   <tr>
       <td>王五</td>
       <td>67</td>
       <td>男</td>
       <td>北京昌平</td>
   </tr>
   <tr>
       <td>赵六</td>
       <td>88</td>
       <td>女</td>
       <td>北京朝阳</td>
   </tr>
   <tr>
       <td>钱琪</td>
       <td>25</td>
       <td>女</td>
       <td>
          <button id="del">删除</button>
       </td>
   </tr>
</table>
<h1><></h1>
<h1>哈哈</h1>
<!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   //first() : 获取第一个元素
   //获取第一个tr
   var first = $("tr").first();
   first.css("background","green");
   //last() : 获取最后一个元素
   //获取最后一个tr
   $("tr").last().css("background","red");
   //eq(index) : 获取第index个元素,index从0开始
   $("tr").eq(2).css("background","gray");
   //next() : 获取紧挨着的下一个同胞元素
   //获取table紧挨着的下一个同胞元素
   $("table").next().css("color","red");
   //prev() : 获取紧挨着的上一个同胞元素
   //获取table紧挨着的上一个同胞元素
   $("table").prev().css("font-size","30px");
   //siblings() : 获取所有的同胞元素
   //获取table所有的同胞元素
   console.log($("table").siblings());
   //parent() : 获取父元素
   //获取table的父元素
   console.log($("table").parent());
   //parents(选择器) : 获取任何一个祖先元素
   //获取id=del的祖先元素tr
   console.log($("#del").parents("tr"));
   //find(选择器) :通过选择器查找后代元素
   //在table中查找id=del的后代元素
   $("table").find("#del").css("color","blue");
   
</script>

5.属性过滤选择器
    1)[属性名称=属性值] : 获取“属性名称=属性值“的元素,经常用在获取表单元素

java">UserName : <input type="text" name="username" />
Password : <input type="password" name="pwd" />
<!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   //属性过滤选择器,一般用在获取表单元素,因为表单元素必有name属性
   //查找 name=username的input元素
   $("input[name=username]").css("border","2px solid red");
   //查找name=pwd的input元素
   $("input[name=pwd]").css("border","2px solid green");
</script>

6.子元素过滤选择器:根据层次关系过滤需要的元素
    [1] :first-child , 获取第一个子元素
    [2] :last-child , 获取最后一个子元素
    [3] :nth-child(index) , 获取任何一个子元素 index :从1开始
java"><body>
   <ul>
       <li>1</li>
       <li>2</li>
       <li>3</li>
   </ul>
   <ul>
       <li>4</li>
       <li>5</li>
       <li>6</li>
   </ul>
<!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   //1.先获取 ul下所有的li元素
   //2.刷选出第一个元素
   //$("ul li:first").css("background","red");
   //子元素过滤选择器
   //1.查找所有的ul
   //2.查找每个ul下边第一个子元素
   $("ul li:first-child").css("background","red");
   $("ul li:last-child").css("background","green");
   $("ul li:nth-child(2)").css("background","blue");
</script>

7.表单过滤选择器:获取表单元素
    :checked , 获取选中的checkbox或者radio
java"><body>
   性别:
       <input type="radio" value="男" name="sex">男
       <input type="radio" value="女" name="sex">女
   兴趣:
       <input type="checkbox" value="吃饭" />吃饭
       <input type="checkbox" value="睡觉" />睡觉
       <input type="checkbox" value="打豆豆" />打豆豆
       <input type="checkbox" value="淘宝双11" />淘宝双11
       <input type="checkbox" value="LOL" />LOL
       <button id="btn">获取选中的checkbox</button>
<!-- 1.引入jquery的库文件 -->
<script type="text/javascript" src="../jquery-1.12.3.min.js"></script>
<script type="text/javascript">
   document.getElementById("btn").onclick = function() {
       //获取选中的checkbox
       console.log($("input:checked"));
       //只获取选中的radio
      console.log($("input[name=sex]:checked"));
   }
</script>

jQuery为了简化事件的处理,封装了一套事件方法
事件方法:
   事件属性去掉on就是事件方法
1.事件的添加方式:
    $(选择器).事件方法(事件处理函数);
2.常用事件:
   [1] 点击事件 :click(fn);fn:事件处理函数

java">   $("button").click(function() {
       alert("点击事件触发");
   });

[2] 失去焦点事件:blur(fn);fn:事件处理函数

java">   $("input[name=username]").blur(function() {
       console.log("失去焦点事件")
   });

[3] 获取焦点事件:focus(fn);fn:事件处理函数

java">   $("input[name=username]").focus(function() {
       console.log("获取焦点事件")
   });

[4] 内容改变事件:change(fn);fn:事件处理函数
java"> $("input[name=username]").change(function() {
       console.log("内容改变了");
   });

 [5] 表单提交事件:submit(fn);fn:事件处理函数

java">   $("form").submit(function() {
       alert("表单提交了");
       //通过返回值可以控制表单的提交,返回true是提交表单;返回false是阻止提交表单
       return true;
   });
    

1)隐藏和显示:通过改变透明度、宽度以及高度来隐藏显示元素
    show(time) : 花费time毫秒显示元素
    hide(time) : 花费time毫秒隐藏元素

1.ready的事件:
    1)当文档加载完毕时,会执行ready事件。
    2)ready事件的使用:
        完全体:
        $(document).ready(function() {
        });
        简化版:
        $(function(){
        })
    3)onload 事件和 ready 事件的区别?
        1)onload 事件一个网页只能有一个;
            ready事件,一个网页中可以有多个,非常适合团队开发;彼此代码互不干扰。
        2)onload 等文档加载完毕时触发,要等整个资源(图片,视频,音频)都加载完毕;
            ready事件,等文档结构加载完毕,不用管资源是否加载完毕。

2.jQuery对象和DOM的转换问题:
    1) DOM对象 : 所有的HTML元素,js认为都是DOM对象.
    2) jQuery对象 : $ 函数的返回值,都是jQuery对象.
    3) 联系:
        jQuery 对象中保存了DOM对象,可以对DOM对象进行操作。
    4)DOM对象转换为jQuery对象:
        var jQuery对象 = $(DOM对象);
    5)jQuery对象转换为DOM对象:
        [1] 通过数组的索引获取DOM对象:var btn1 = btns[1];

        [2] 通过jQuery对象的get(index) : var btn1 = btns.get(0);


你儿时望着的月亮

从离家那晚跌落了东山

就没再爬起过



http://www.niftyadmin.cn/n/1867806.html

相关文章

Oracle 12c中的用户角色SYSDBA、SYSOPER、DBA

1&#xff09; sys用户是超级用户&#xff0c;具有最高权限即sysdba角色&#xff0c;有create database的权限&#xff0c;所有oracle的数据字典的基表和视图都存放在sys用户中&#xff0c;这些基表和视图对于oracle的运行是至关重要的&#xff0c;由数据库自己维护&#xff0c…

Oracle 12c常用命令集合

查询当前数据库的详细版本号&#xff1a; 1.4.2 Checking Your Current Release Number To identify the release of Oracle Database that is currently installed and to see the release levels of other database components you are using, query the data dictionary …

计算机专业名词(缩写、全称、中文全称)

名词缩写名词全称中文全称备注ANSIAmerican National Standards Institute美国国家标准化组织 ISPInternet Service Provider互联网服务提供商 BIOSBasic Input/Output System基本输入/输出系统 UEFIUnified Extensible Firmware Interface统一可扩展固件接口 UUIDUniversal Un…

SQL标准命令分类(DDL、DML、DCL)

SQL标准命令 与关系数据库交互的标准SQL命令是创建、选择、插入、更新、删除和删除&#xff0c;简单分为以下几组&#xff1a; DDL&#xff08;数据定义语言&#xff09; 数据定义语言用于改变数据库结构&#xff0c;包括创建、更改和删除数据库对象。用于操纵表结构的数据定…

NIC(Network Interface Controller,网络接口控制器)

网络接口控制器&#xff08;英语&#xff1a;network interface controller&#xff0c;NIC&#xff09;&#xff0c;又称网络接口控制器&#xff0c;网络适配器&#xff08;network adapter&#xff09;&#xff0c;网卡&#xff08;network interface card&#xff09;&#…

DNS(Domain Name System,域名系统)、免费公共DNS服务列表

DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网。 DNS是Internet上解决网上机器命名的一种系统。就像拜访朋友要先知道别人家怎么走一样&…

VMware中NAT网络模式下,设置静态IP地址

1&#xff09;、本示例采用VMWare 15 CentOS 7&#xff0c;同样适用于VMWare 12 CentOS 6。 2&#xff09;、对于CentOS 6及以下linux发行版&#xff0c;其中网卡设置略有部分不同&#xff08;文中会有差异提示&#xff09;。 1、点击VMWare15菜单栏的“编辑”&#xff0c;选…

CenOS 7配置国内Yum源,阿里云Yum源,加快软件安装更新速度

1&#xff09;、Yum&#xff08;Yellowdog Updater Modified&#xff09;是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖…