博客列表 >$()函数的常用场景:选择元素,创建元素,执行回调等0917

$()函数的常用场景:选择元素,创建元素,执行回调等0917

郭稳重啊的博客
郭稳重啊的博客原创
2018年09月19日 23:19:23847浏览

0917作业

1. 编程:$()函数的常用场景:选择元素,创建元素,执行回调等。

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>编程1:$()函数常用的场景:选择元素,创建元素,执行回调</title>
</head>
<body>
<script src="../lib/jquery.js"></script>
<script>

   //添加创建元素
    //1.$(selector/html/obj/function())
    $('<ul class="list"></ul>').appendTo('body');
    $('.list').append($('<li >今天是下雨的第5天</li>'));

    //创建元素时添加元素
    $('.list').append($('<li id="two">雨可以停一下吗</li>'));

    //将创建元素的属性或方法,如果较多,推荐使用对象字面量的方式进行添加
    $('.list').append($('<li>',{
             class:'sunshine',
             text:'晴天和***在哪里啊',
             click:function(){
             alert("我是小***啊!")
             }}));

    //选择元素进行执行回调
      $(document).ready(function(){
      let li = $('li')[1];
      li.innerHTML = '<span style="color:yellowgreen">明天就是第六天</span>';
       $('li').eq(1).html('<span style="color:lightsalmon">***要出来了吧</span>');
        });

    // $(function()):直接执行一个回调,这是执行jQuery代码最简单最常用的方式
     // 简写:直接传递一个匿名函数给$(),$()可以执行多次,所以 $(function())也可以调用多次
     $(function(){
        $('.sunshine').css('color','#00EE00');
     })

    //each(function):对jquery对象中的每个元素进行回调处理,css()一会再详细介绍
      $('li').each(function(){
      $(this).css('background-color','#EE9572');
     });

   //get()和[],获取jquery对象中的dom,将jquery转为dom·
    $('li').get(0).style.backgroundColor = 'lightgreen'
    $('li')[1].setAttribute('style','color: red');
    console.log($('li').get().length);  //不传参数返回全部元素
    // index(selector/element)
    console.log($('li.sunshine').index());  // 返回为第三个dom的数字索引: 2
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

2.编程:jQuery常用的选择器操作,重点在层级和表单上


实例

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>编程2:jQuery中常用的选择器</title>
        <style>
            table {
                border-collapse: collapse; /*设置表格合并边框模型*/
                width: 700px;
                height:300px;
                text-align: center;
                margin: 20px auto;/*两个参数,第一个参数是定上下,上下外边各10px.第二个是左右自动适应,*/
            }
            .highlight {
                background-color: yellow;
            }
            #title {
                color: red;
            }
        </style>
    </head>
<body>
<table>
    <caption >购物清单</caption>
    <tr>
        <th>编号</th>
        <th>名称</th>
        <th>数量</th>
        <th>备注</th>
        <th >操作</th>
    </tr>
    <tr  id="item1">
        <td>1</td>
        <td>酱油</td>
        <td>一瓶</td>
        <td>海天</td>
        <td><a href="http://jd.com" >点击***</a></td>
    </tr>
    <tr>
        <td>2</td>
        <td>肉</td>
        <td>3斤</td>
        <td>五花肉</td>
        <td ><a href="http://jd.com" >点击***</a></td>
    </tr>
    <tr>
        <td>3</td>
        <td>糖</td>
        <td>1斤</td>
        <td>冰糖</td>
        <td > <a href="http://jd.com">点击***</a></td>
    </tr>
</table>

邮箱:<input type="text"> <br>
密码:<input type="password"> <br>
<!--input:radio-->
<input type="radio" name="gender" value="male" checked>男
<input type="radio" name="gender" value="female">女
<br>
<!--input:checkbox-->
<input type="checkbox" name="hobby[]" value="dance"checked>跳舞
<input type="checkbox" name="hobby[]" value="sing">唱歌
<br>
你的学历:
<select name="" id="">
    <option value="">幼儿园</option>
    <option value="小学" selected>小学</option>
    <option value="">初中</option>
    <option value="">其它</option>
</select>
<br>
<button type="submit">提交</button>
<button type="reset" disabled>重置</button>


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

    //通用选择器
    //addClass() 方法向被选元素添加一个或多个类。
    //该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性
//    $('*').addClass('list');   //选择了页面中所有元素
//    $('tr').addClass('item');  // 选择所有的 <tr>标签
//    $('.list').css('color','red'); // 选择有class="list"的元素
//    $('.item').addClass('highlight');
//    $('#item1').addClass('highlight');  // id选择器

     //层级选择器
//    $('tr:first  th').addClass('highlight');   // 选择第一个<tr>下全部<th>
//    $('li:first > th').addClass('highlight');   // 仅选择子级元素,更深的级别忽略

     //th:contains('HTML'):last  定位到第一个内容是编号列表项上
//    $("th:contains('编号'):last").addClass('highlight');     //验证定位效果
//    $("th:contains('编号'):last + th").addClass('highlight'); //相依兄弟
//    $("th:contains('编号'):last ~ th").addClass('highlight');   // 相邻所有兄弟

    // 选择文本框,属性选择器和表单过滤器
    // $('input[type="text"]').addClass('highlight');  // 属性选择器
    // 元素:input表示 选择<input><select><textarea><button>
    //$(':input').not(':submit').not(':disabled').addClass('highlight');

   // console.log($(':checkbox:checked').val());  // 当前选中的值,dance
   // console.log($(':checkbox').not(':checked').val());  //未被选中的值,sing
   //console.log($(':checkbox').val());  //默认返回被选中的值
    console.log($(':input :selected').val());   // 注意过滤器之间必须要加空格,类:input并不针对select

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

3. 编程:常用的DOM操作有哪些?一定要结合实例完成


实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>编程3:常用的DOM操作有哪些?一定要结合实例完成</title>
</head>
<body>
<ul>
    <li>我是列表项01</li>
    <li>我是列表项02</li>
    <li>我是列表项03</li>
    <li>我是列表项04</li>
    <li>我是列表项05</li>
</ul>
<!--导入jQuery函数库-->
<script src="../lib/jquery.js"></script>
<script>
    //1.元素内部添加
    //append()和appendTo(): 将当前元素添加到父元素内部的尾部
    // 添加到尾部
    $('ul').append('<li>新元素1</li>');
    $('<li>新元素2</li>').appendTo('ul');

    // 添加到尾部
   //prepend()和prependTo(): 将节点添加到父元素内部的头部
     $('ul').prepend('<li>新元素3</li>');
     $('<li>新元素4</li>').prependTo('ul');


    //2.元素前后添加,就是根据索引,中间也可以添加新元素

    //after()和insertAfter():将元素插入到当前节点的后面
      $('li:eq(3)').after('<li>新元素5</li>');
      $('<li>新元素6</li>').insertAfter('li:eq(4)');

    //before()和insertBefore():将元素插入到当前节点的前面
      $('li:eq(7)').before('<li>新元素7</li>');
      $('<li>新元素8</li>').insertBefore('li:eq(8)');

   //3.替换:将li文本包含有: "新元素"内部的元素全部替换成指定元素
    //replaceWith()和replaceAll():替换掉匹配的html内容
    $('li:contains("新元素")').replaceWith('<li style="color:indianred">新元素</li>');
    $('<li style="color:lightseagreen">新元素</li>').replaceAll('li:contains("新元素")');

    //4.删除
    //remove() 方法移除被选元素,包括所有的文本和子节点。
    //empty():删除匹配到的元素集合中所有的子节点
    // 不传参数是全部删除
      $('li').remove();

    // 删除奇数(从0开始)
      $('li').remove(':odd');
      $('li').remove();

    //等价于 $('li').remove();
     $('ul').empty();

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

4. 问答: jQuery与原生javascript相比,有哪些优势,哪些劣势。

JavaScript的优点和缺点:
优点:
1.性能:由于JavaScript运行在***端,节省了web服务器的请求时间和带宽
 轻量级的脚本语言,比较容易学习。
2.运行在用户机器上,运行结果和处理相对比较快。
3.可以使用第三方附加组件来检查代码片段。
缺点:
1.安全问题:由于JavaScript在***端运行,可能被用于黑客目的。
2.渲染问题:在不同浏览器中的处理结果可能不同。

jQuery优缺点:
优点:
1.jQuery消除了JavaScript跨平台兼容问题。
2.相比其他JavaScript和JavaScript库,jQuery更容易使用。
3.jQuery有一个庞大的库/函数。
4.jQuery有良好的文档和帮助手册。
5.jQuery支持AJAX。
缺点:
1.由于不是原生JavaScript语言,理解起来可能会受到限制。
2.项目中需要包含jQuery库文件。如果包含多个版本的jQuery库,可能会发生冲突。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议