jQuery的实例及必知重要的jQuery选择器详解


Posted in Javascript onMay 20, 2016

Jquery能做什么

访问和操作DOM元素
 
控制页面样式
 
 对页面事件进行处理
 
 扩展新的jQuery插件
 
与Ajax技术完美结合

Jquery的优势

 
体积小,压缩后只有100KB左右
 
l强大的选择器
 
出色的DOM封装
 
l可靠的事件处理机制
 
出色的浏览器兼容性
 
使用隐式迭代简化编程
 
丰富的插件支持

jQuery的知识的分解:

1.关于window.onload和$(function(){})区别
 
解析:window.onload等待页面上所有资源(html标签,css,img,js)都加载完成后,才执行,包括(文本素材,图片,js,css)
 
$(function(){}):等待页面上的标签素材加载完成后就开始执行
 
第二点:
 
Window.onload只能调用一次
 
$(function(){})可以调用多次
 
2.怎么通过Jquery设置样式
 
1).通过$(“选择器”).css(“属性名”,”属性值”);
 
//这里的书写的属性名和css中书写的一致
 
2).$(“选择器”).html():获取两个标签之间的html代码
 
3).$(“选择器”).addClass(“属性值”)
 
可以动态的改变dom文档结构。进而设置样式。
 
3.DOM对象和Jquery对象的转换
 
jquery对象转换成 dom对象

jquery提供了两种方法将一个jquery对象转换成一个dom对象,即[index]和get(index)。
 
ar cr= cr=("#cr"); //jquery对象
var cr = $cr[0]; //dom对象 也可写成 var cr=$cr.get(0);
alert(cr.checked); //检测这个checkbox是否给选中

dom对象转换成jquery对象

对于一个dom对象,只需要用$()把dom对象包装起来,就可以获得一个jquery对象了,方法为$(dom对象);

代码:

var cr=document.getElementById("cr"); //dom对象
var cr= cr=(cr); //转换成jquery对象

光棒效果案例:

js代码:

$(function () {
        var lis = document.getElementsByTagName('li');

        for (var i = 0; i < lis.length; i++) {
          lis[i].onmouseover = function () {
            this.style.background = 'red';
          };
          lis[i].onmouseout = function () {
            this.style.background = '';

          }
        }
      });

jQuery的代码:

$(function () {
        $('li').mouseover(function () {
          $(this).css('background','red');
        }).mouseout(function () {
          $(this).css('background', '');
        })
      });

jQuery瀑布流案例:

<script>
  var margin = 10;//这里设置间距
  var li = $("li");//这里是区块名称
  var li_W = li[0].offsetWidth + margin;//取区块的实际宽度(包含间距,这里使用源生的offsetWidth函数,不适用jQuery的width()函数是因为它不能取得实际宽度,例如元素内有pandding就不行了)
  function liuxiaofan() {//定义成函数便于调用
    var h = [];//记录区块高度的数组
    var n = document.documentElement.offsetWidth / li_W | 0;//窗口的宽度除以区块宽度就是一行能放几个区块
    for (var i = 0; i < li.length; i++) {//有多少个li就循环多少次
      li_H = li[i].offsetHeight;//获取每个li的高度
      if (i < n) {//n是一行最多的li,所以小于n就是第一行了
        h[i] = li_H;//把每个li放到数组里面
        li.eq(i).css("top", 0);//第一行的Li的top值为0
        li.eq(i).css("left", i * li_W);//第i个li的左坐标就是i*li的宽度
      }
      else {
        min_H = Math.min.apply(null, h);//取得数组中的最小值,区块中高度值最小的那个
        minKey = getarraykey(h, min_H);//最小的值对应的指针
        h[minKey] += li_H + margin;//加上新高度后更新高度值
        li.eq(i).css("top", min_H + margin);//先得到高度最小的Li,然后把接下来的li放到它的下面
        li.eq(i).css("left", minKey * li_W);  //第i个li的左坐标就是i*li的宽度
      }
      $("h3").eq(i).text("编号:" + i + ",高度:" + li_H);//把区块的序号和它的高度值写入对应的区块H3标题里面
    }
  }
  /* 使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个) */
  function getarraykey(s, v) { for (k in s) { if (s[k] == v) { return k; } } }
  /*这里一定要用onload,因为图片不加载完就不知道高度值*/
  window.onload = function () { liuxiaofan(); };
  /*浏览器窗口改变时也运行函数*/
  window.onresize = function () { liuxiaofan(); };
</script>

JQuery选择器

 解析:为了更好的或者是更快的从复杂的DOM树中找到我们需要的一类标签

1.层次选择器

<!-- 当点击h2元素时,为#menu下的<span>元素添加色为#09F的颜色背景 -->
  <!-- <script type="text/javascript">
    $(function () {
      $('h2').click(function () {
        $('#menu span').css('background-color','#09F');
      });
    });
  </script>-->

2.基本选择器

<!-- 为标签选择器添加样式 -->
  <script type="text/javascript">
    $(function () {
      $('h2').click(function () {
        $('h3').css('background-color', '#09F');
       
      });
    });
  </script>

3.基本过滤选择器

<script type="text/javascript">
    $(function () {
      $('h2').click(function () {
        //$('li:first').css('background-color', '#09F');//第一个
        //$('li:last').css('background-color', '#09F');//最后一个
        //$('li:not(.three)').css('background-color', '#09F');//class不为three的元素
        // $('li:even').css('background-color', '#09F');//索引值为偶数的元素
        // $('li:eq(1)').css('background-color', '#09F');//索引值为1的元素
         //$('li:gt(1)').css('background-color', '#09F');//索引值大于1的元素
        //$('li:lt(1)').css('background-color', '#09F');//索引值小于1的元素
        //$(':header').css('background-color', '#09F');//所有标题的元素
        $(':focus').css('background-color', '#09F');//获取焦点的元素

      });
    });
  </script>

 

4.可见性过滤选择器

<script src="js/jquery-1.8.3.js"></script>
  <script type="text/javascript">
    $(function () {
      // $('p:hidden').show();//显示文字
      $('p:visible').hide();//隐藏文字
    });
  </script>
  <style type="text/css">
    #txt_show
    {
      display:none;color:#00C;
    }
    #txt_hide
    {
      display:block;color:#F30;
    }
  </style>
</head>
<body>
  <p id="txt_hide">点击按钮,我会被隐藏哦~</p>
   <p id="txt_show">隐藏的我,被显示了,嘿嘿~</p>
  <input type="button" name="show" value="点击显示文字 " />
   <input type="button" name="hide" value="点击隐藏文字 " />
</body>

5.属性选择器

<!--改变class属性的值为odds的元素的背景颜色 -->
   <script type="text/javascript">
     $(function () {
       $("h2").click(function () {
         $("[class=odds]").css("background-color", "#FFFFFF");
       })
     });
  </script>

以上这篇jQuery的实例及必知重要的jQuery选择器详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
Sep 06 Javascript
动态添加option及createElement使用示例
Jan 26 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
JQuery的Pager分页器实现代码
May 03 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
通过layer实现可输入的模态框的例子
Sep 27 Javascript
小程序实现按下录音松开识别语音
Nov 22 Javascript
vue路由权限校验功能的实现代码
Jun 07 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
Sep 28 Javascript
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
深入理解setTimeout函数和setInterval函数
May 20 #Javascript
JavaScript基础教程——入门必看篇
May 20 #Javascript
jQuery选择器及jquery案例详解(必看)
May 20 #Javascript
Jquery $when done then的用法详解
May 20 #Javascript
jQuery添加和删除输入文本框标签代码
May 20 #Javascript
jQuery通过deferred对象管理ajax异步
May 20 #Javascript
Bootstrap3学习笔记(三)之表格
May 20 #Javascript
You might like
php和javascript之间变量的传递实现代码
2012/12/19 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP生成可点击刷新的验证码简单示例
2016/05/13 PHP
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
pow在python中的含义及用法
2019/07/11 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
Python自省及反射原理实例详解
2020/07/06 Python
python如何对链表操作
2020/10/10 Python
python用tkinter实现一个gui的翻译工具
2020/10/26 Python
Python 里最强的地图绘制神器
2021/03/01 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
2014年小学元旦活动方案
2014/02/12 职场文书
2015年爱国卫生工作总结
2015/04/22 职场文书
感恩老师主题班会
2015/08/12 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
导游词之无锡梅园
2019/11/28 职场文书
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python