美文网首页吃饭用的前端
jQuery(一)——注册事件和选择器

jQuery(一)——注册事件和选择器

作者: CNLISIYIII | 来源:发表于2019-04-17 15:05 被阅读0次

本质上就是一个js文件,jQuery库。可以简化代码,提高开发效率。
使用前要先引入jQuery文件

<script src="lib/jquery-1.12.4.js"></script>

(一)jQuery对象和DOM对象

1.DOM和jQuery对象区别

通过DOM方式所获取的元素就是DOM对象。

代码举栗:

<body>
    <div></div>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        //DOM对象获取元素
        var div = document.querySelector('div');
        div.innerText = 'im div';
        //jQuery对象获取
        var $div = $('div');
        $div.text('im jquery div');
    </script>
</body>

2.jQuery对象

$和jQuery标识符指向同一个函数,推荐使用$。
$是一个函数,调用的时候需要传入参数。selector表示选择器。

1)$('选择器') 返回一个jQuery对象

代码举栗:

<body>
    <button>按钮</button>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        var $btn = $('button'); //获取到了按钮对应的jQuery对象
        console.log($btn instanceof jQuery); //true
    </script>
</body>

2)DOM对象可以转换成jQuery对象

$(selector,context) //通过选择器获取元素,context可以忽略
$(element) //把DOM对象转换成jQuery对象的调用方式

语法:$(DOM对象);

代码举栗:

<body>
    <div></div>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        var dom = document.querySelector('div');
        // dom.innerText = '内容';
        // dom.text('内容');  //报错
        var $dom = $(dom);
        $dom.text('内容');
    </script>
</body>

3)jQuery对象

语法:jQuery对象[0]

jQuery对象的本质是:给一个伪数组,这个伪数组才是jQuery对象。伪数组中取出的个体是DOM对象。

代码举栗:

<body>
    <div></div>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        var $div = $('div');
        console.log( $div instanceof jQuery); //true
        console.log( $div[0] instanceof jQuery); //false。通过中括号索引方式取出的个体是DOM对象。
        $div[0].innerText = '内容'; //有效
    </script>
</body>

(二)jQuery注册事件

事件三要素:事件源、事件类型、事件处理程序

语法:jQuery对象.事件名不加on(事件处理程序);

jQuery可以给组注册事件。但是在DOM中不能给组注册事件。

代码举栗:

<body>
    <button>按钮</button>  
    <ul>
        <li>我是列表项1</li>
        <li>我是列表项2</li>
        <li>我是列表项3</li>
        <li>我是列表项4</li>
        <li>我是列表项5</li>
    </ul>  
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        $('li').click( function() {
            //在事件处理程序中,this是DOM对象
            alert( $(this).text() );   //text内不传参数表示获取内容
        });
    </script>
</body>

这里存在隐式迭代现象:jQuery内部自动循环,为每一个元素注册事件。

(三)jQuery操作样式

1.设置单个样式

语法:jQuery对象.css(name,value);

代码举栗:

<body>
    <div></div>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        //分次设置样式
        $('div').css('width', 500); //值可以直接写数字不用加px单位,也可以写成字符串‘500px’
        $('div').css('height', '500px');
        $('div').css('background', 'red');
        
        //一次设置多个样式
        $('div').css({
            width: 500,
            height: 500,
            background: 'red'
        })
    </script>
</body>

2.获取

语法:jQuery对象.css(name);

代码举栗:

<body>
    <div></div>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        var w = $('div').css('width');
        console.log(w); //字符串 500px。
        console.log(parseInt(w)); //转成数字 500。     
    </script>
</body>

(四)选择器

1.基本选择器

2.层级选择器

3.过滤器选择器

代码举栗:(表格隔行变色)

<script>
        //索引为奇数的tr设置为灰色。对于用户是偶数行
        $('tbody tr:odd').css('background', '#ccc');
        //索引为偶数的tr设置为蓝色
        $('tbody tr:even').css('background', 'skyblue');
        //筛选第三个tr设置字体颜色为红色
        $('tbody tr:eq(2)').css('color', 'red');
    </script>

4.选择器

只有jQuery才能点出这些方法,DOM不能。

1)children方法

代码举栗:

<body>
    <ul>
        <li>列表项1</li>
        <li>列表项2</li>
        <li>列表项3</li>
    </ul>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        console.log( $('ul>li') );
        console.log( $('ul').children() ); //获取ul父子关系下的子元素li
    </script>
</body>

2)find方法

find方法使用时必须传入参数

代码举栗:

    <script>
        //获得list类名下的所有li,包括子元素和孙元素
        console.log( $('.list').find('li') );     
    </script>

3)下拉菜单案例

代码举栗:

<script src="lib/jquery-1.12.4.js"></script>
    <script>
        var $lis = $('#menu').children();
        $lis.mouseenter(function() {
            //给当前的li 内部的ul 更改样式display
            $(this).find('ul').css('display','block');
        });
        $lis.mouseleave(function() {
            $(this).find('ul').css('display','none'); //find方法也可以换成children
        });
    </script>

4)其他选择器筛选方法

代码举栗:(手风琴菜单)

<script>
       $('span').click(function() {
           //让当前点击的span 的下一个兄弟元素 的div 变为显示
           $(this).next().css('display', 'block');
           //当前点击的span的 父元素的 li的兄弟们 中的div 变为隐藏
           $(this).parent().siblings().find('div').css('display', 'none');
       });       
    </script>

5)选择器eq和方法eq的区别

代码举栗:

<body>
    <ul>
        <li>列表项1</li>
        <li>列表项2</li>
        <li>列表项3</li>
    </ul>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
       //选择器:eq(index)
       $('li:eq(1)').css('color', 'red');
       //方法: jQuery对象.eq(index)
       $('ul li').eq(1).css('color', 'red');
    </script>
</body>

当索引保存在变量中时,推荐用方法,不要用选择器

var index = 1;
$('li:eq(' + index + ')').css('color', 'red');
$('ul li').eq(index).css('color', 'red');

6)index方法

jQuery对象.index(); 获取元素在同级元素中的索引

代码举栗:

<body>
    <ul>
        <li>列表项1</li>
        <li>列表项2</li>
        <li>列表项3</li>
        <li>列表项4</li>
        <li>列表项5</li>
    </ul>
    <script src="lib/jquery-1.12.4.js"></script>
    <script>
        $('li'),click(function() {
            alert( $(this).index );
        });
    </script>
</body>

相关文章

  • JQUERY一

    jQuery 元素选择器 jQuery 属性选择器 jQuery CSS 选择器 jQuery 事件 jQuery...

  • Jquery

    简述 安装 语法 jQuery 选择器 jQuery 事件 jQuery 效果函数 jQuery - 获得内容和属...

  • jQuery(一)——注册事件和选择器

    本质上就是一个js文件,jQuery库。可以简化代码,提高开发效率。使用前要先引入jQuery文件 (一)jQue...

  • jQuery教程(一)

    jQuery 选择器 元素 选择器 #id 选择器 .class 选择器 jQuery 事件 click() 是当...

  • jQuery事件操作和插件

    jQuery事件操作 简单方式注册事件 语法:jQuery对象.事件名(事件处理程序) on方法注册事件 注册简单...

  • 锋利的 jQuery | 第2章_jQuery 选择器

    选择器是 jQuery 的根基,在 jQuery 中,对事件处理、遍历 DOM 和 Ajax 操作都依赖于选择器。...

  • JavaScript之jQuery

    九、jQuery 目录:初识jQuery及公式、jQuery选择器、jQuery事件、jQuery操作DOM元素 ...

  • jQuery事件注册、解绑、触发

    注册事件 jQuery1.7之后,jQuery用on统一了所有事件的注册方式。 on简单注册事件 不支持动态注册语...

  • JQuery

    选择器选择器是jQuery的核心。 事件 动画 扩展

  • No.39 jQuery事件

    一、jQuery 事件注册 单个事件注册 语法:element.事件(function(){}) $("div")...

网友评论

    本文标题:jQuery(一)——注册事件和选择器

    本文链接:https://www.haomeiwen.com/subject/unlnwqtx.html