博客列表 >jQuery之DOM基础操作_2018-09-17

jQuery之DOM基础操作_2018-09-17

theYon的博客
theYon的博客原创
2018年09月19日 20:29:05635浏览

jQuery之DOM操作

主要知识点

1)jQueyr中的属性操作

2)jQuery中的css操作

3)jQuery中常用的选择器

jQuery与原生javascript相比,有哪些优势,哪些劣势

  JavaScript:
   优:
        性能:由于JavaScript运行在***端,节省了web服务器的请求时间和带宽。
        运行在用户机器上,运行结果和处理相对比较快,运行效率大大提高
        可以使用第三方附加组件来检查代码片段。
   缺:
        安全问题:由于JavaScript在***端运行,可能被用于黑客目的。
        渲染问题:在不同浏览器中的处理结果可能不同。也就是兼容性较差。
  jQuery:
   优:
        扩展能力好,抽象层次高,开发效率高,不需要太多经验也可以上手
        代码兼容性较好,消除了JavaScript跨平台兼容问题。
        相比其他JavaScript和JavaScript库,jQuery更容易使用。
        jQuery支持AJAX。
   缺:
        jquery是一个特化的框架,它不是一个完整的解决方案,仍然离不开javascript。
        项目中需要包含jQuery库文件。如果包含多个版本的jQuery库,可能会发生冲突。

代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>0917</title>
</head>
<body>
    <h2>12345</h2>
    <!-- <ul>
        <li>$()函数的常用场景:选择元素,创建元素,执行回调等。</li>
        <li>jQuery常用的选择器操作,重点在层级和表单上</li>
        <li>常用的DOM操作有哪些?一定要结合实例完成</li>
    </ul> -->
    <!-- 
        JavaScript:
        优:
        性能:由于JavaScript运行在***端,节省了web服务器的请求时间和带宽。
        运行在用户机器上,运行结果和处理相对比较快,运行效率大大提高
        可以使用第三方附加组件来检查代码片段。
        缺:
        安全问题:由于JavaScript在***端运行,可能被用于黑客目的。
        渲染问题:在不同浏览器中的处理结果可能不同。也就是兼容性较差。
        jQuery:
        优:
        扩展能力好,抽象层次高,开发效率高,不需要太多经验也可以上手
        代码兼容性较好,消除了JavaScript跨平台兼容问题。
        相比其他JavaScript和JavaScript库,jQuery更容易使用。
        jQuery支持AJAX。
        缺:
        jquery是一个特化的框架,它不是一个完整的解决方案,仍然离不开javascript。
        项目中需要包含jQuery库文件。如果包含多个版本的jQuery库,可能会发生冲突。
     -->
    <ul>
        <li>
            <h4>12</h4>
        </li>
        <li id="lis">45</li>
        <li>78</li>
        <li>69</li>
        <li name='h4li'>
            <div><h4>ccc</h4></div> 
            <ul>
                <li>aa</li>
                <li>bb</li>
            </ul>
        </li>
        <li>emmm</li>
    </ul>
    <div>
        <input type="text">
        <!--input:radio-->
        <input type="radio" name="isTrue" data-id='0' value="yes" onclick="func(this)">是
        <input type="radio" name="isTrue" value="no">否
        <input type="radio" name="isTrue" value="none">无
        <hr>
        <br>
        <!--input:checkbox-->
        <input type="checkbox" name="hobby" value="basket" checked>篮球
        <input type="checkbox" name="hobby" value="football">足球
        <input type="checkbox" name="hobby" value="swim">游泳
        <br>
        你的学历:
        <select name="" id="">
            <option value="">幼儿园</option>
            <option value="小学" selected>小学</option>
            <option value="">初中</option>
            <option value="">其它</option>
        </select>
    </div>
</body>
<script src="./lib/jquery.js"></script>
<script>
    // 选择元素
    console.log($('li'))
    console.log($('.uls'));
    console.log($('#lis'));

    // 创建元素
    $('#lis').append('<ul id="ulss"></ul>');
    $('#lis').append($('<button>').text('btn'));
    $('#ulss').append('<li>ulss</li>');
    $('#ulss').append('<li>ulss</li>');
    $('#ulss').append($('<li>').text('ulss545'));
    console.log($('<li>').text('ulss545'));

    // 执行回调
    $('li').each(function(){
        $(this).css('background','red')
    });

    // 层级选择器:空格, >直接子元素, +相邻兄弟, ~ 所有兄弟
    $('li h4').css({'margin':'0','color':'#fff'})
    $('li>h4').css({'margin':'0','background':'blue'})
    $('li:first h4').css({'margin':'0','background':'yellow'})
    $('li:first + li').css({'margin':'0','background':'#eee'})
    $('li:first + li ~ li').css({'margin':'0','background':'#ccc'})

    // 表单
    $('input[type="text"]').val('我是文本');
    console.log($(':radio:checked').val());
    console.log($(':checkbox:checked').val());  // 当前选中的值
    var ii = $('input[type="checkbox"]').not(':checked').css('background','#ccc').length
    console.log($(':checkbox').not(':checked').length,ii);  //未被选中的值
    console.log($(':checkbox').val());  //默认返回被选中的值
    console.log($(':input :selected').val());

    // append()和appendTo()
    $('.uls').append('<li id="new1">new one</li>');
    $('<li>new two</li>').appendTo('.uls');

    // prepend()和prependTo()
    $('.uls').prepend('<li>new 3</li>')
    $('<li>new 4</li>').prependTo('.uls');

    // after()和insertAfter()
    $('#new1').after($('<li>后面1</li>').css('color','blue'));
    $($('<li>后面2</li>').css('color','blue')).insertAfter('#new1');

    // before()和insertBefore()
    $('.uls>li').eq(1).before('<li>前面1</li>');
    $('<li>前面2</li>').insertBefore('.uls>li:eq(0)');

    // replaceWith()和 replaceAll()
    $('.uls').replaceWith($('<p id="pnew">replaceWith</p>'));
    $('<p>replaceAll</p>').replaceAll($('#pnew'));

    // empty()
    $('li[name="h4li"]').empty().text('删除所有子类然后新增我');

    // remove()
    $('div').remove()


</script>
</html>




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