jQuery

jQuery的选择器和筛选器

插件:
开发: xxxx.js
线上: xxxx.min.js

版本:
1.x 1.12.x
2.x
3.x

一、查找 

  选择器(括号里面是字符串)

    $('#i1') -> 找id=i1的标签

    $('.i1') -> 找class=i1的标签

    $('div') -> 找所有div标签

    $('#i1,.i1,div') 

  层级选择器
    $('#i1 .c1 div') -> 先找到id=i1标签,在其子子孙孙中找class=c1标签,在上述基础上再进行找div标签
    $('#i1>a') 只找儿子

  表单
    $('input[type="text"]') --> $(':text')

  属性选择器

    $('[alex]')  具有alex属性的所有标签

    $('[alex="123"]')alex属性等于123的标签

  筛选器

    

实例一(全选,反选,取消):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input  type="button" value="全选" onclick="checkAll();"/>
    <input  type="button" value="取消" onclick="cancleAll()"/>
    <input  type="button" value="反选" onclick="reverseAll()"/>
    <table border="1">
        <thead>
            <tr>
                <th>操作</th>
                <th>主机</th>
                <th>端口</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><input type="checkbox"></td>
                <td>1.1.1.1</td>
                <td>80</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>1.1.1.1</td>
                <td>80</td>
            </tr>
            <tr>
                <td><input type="checkbox"></td>
                <td>1.1.1.1</td>
                <td>80</td>
            </tr>
        </tbody>
    </table>
    <script src="jquery-1.12.4.js"></script>
    <script>
        function checkAll() {
            $(':checkbox').prop('checked',true)
        }
        function cancleAll(){
            $(':checkbox').prop('checked',false)
        }
//        function reverseAll() {
//            $(':checkbox').each(function(){
//                if (this.checked){
//                    this.checked=false;
//                }else {
//                    this.checked=true;
//                }
//            })
//        }
//        this是dom对象,$(this)是jquery对象
        function reverseAll() {
//            $(':checkbox').each(function () {
//                if ($(this).prop('checked')){
//                    $(this).prop('checked',false);
//                }else {
//                    $(this).prop('checked',true);
//                    }
//                })
            $(':checkbox').each(function () {
                var v = $(this).prop('checked')?false:true
                $(this).prop('checked',v)
            })
            }
    </script>
</body>
</html>

  $(':checkbox').prop('checked');获取值

  $('checkbox').prop('checked',true)设置值

  jQuery内置循环 $(':checkbox').xxxxx

  $(':checkbox').each(function(k){

    k当前索引

    this,DOM对象,当前循环的元素

    $(this) jQuery对象

    jQuery对象转dom对象,索引

  })

  var v = 条件?真值:假值

实例二:左侧菜单栏伸缩

  $('.title').click(function () 绑定事件

  $(this).next().removeClass('hide') 当前标签的下一标签移除hide属性

  siblings() 兄弟标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .pg_left{
            width: 400px;
            height: 600px;
            background-color: #3A3A4F;
            color: white;
        }
        .title{
            background-color: #3ba354;
        }
        .hide{
            display: none;
        }
    </style>
</head>
<body>
    <div class="pg_left">
        <div class="item">
            <div class="title">标题一</div>
            <div class="content">内容</div>
        </div>
        <div class="item">
            <div class="title">标题二</div>
            <div class="content hide">内容</div>
        </div>
        <div class="item">
            <div class="title">标题三</div>
            <div class="content hide">内容</div>
        </div>
    </div>
    <scripts>
        <script src="jquery-1.12.4.js"></script>
        <script>
            $('.title').click(function () {
//                $(this).next().removeClass('hide');
//                $(this).parent().siblings().find('.content').addClass('hide');
                $(this).next().removeClass('hide').parent().siblings().find('.content').addClass('hide');
            })
        </script>
    </scripts>
</body>
</html>

 实例三:模态框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .hide{
            display: none;
        }
        .shadow{
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #3A3A4F;
            opacity: 0.6;
            z-index: 9;
        }
        .input{
            background-color: white;
            position: fixed;
            width: 400px;
            height: 300px;
            top: 50%;
            left: 50%;
            z-index: 10;
            margin-left: -200px;
            margin-top: -200px;
        }
    </style>
</head>
<body>
    <div class="shadow hide">
    </div>
    <div class="input hide">
        <p>主机名:<input id="hostname" type="text"/></p>
        <p>ip:<input id="ip" type="text"/><p>
        <p>端口:<input id="port" type="text"/><p>
        <input id="canceladd" type="button" value="取消">
    </div>
    <input id="i1" type="button" value="添加">
    <table border="1">
        <thead>
        <tr>
            <th>主机名</th>
            <th>ip</th>
            <th>端口</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td target="#hostname">10.10.10.10</td>
            <td target="#ip">10.10.10.10</td>
            <td target="#port">22</td>
            <td><a class="edit">编辑</a>|<a>删除</a></td>
        </tr>
        </tbody>
        <tbody>
        <tr>
            <td target="#hostname">10.10.10.11</td>
            <td target="#ip">10.10.10.11</td>
            <td target="#port">22</td>
            <td><a class="edit">编辑</a>|<a>删除</a></td>
        </tr>
        </tbody>

    </table>
    <script src="jquery-1.12.4.js"></script>
    <script>
        $('#i1').click(function () {
            $('.shadow').removeClass('hide');
            $('.input').removeClass('hide');
            $('.input input[type="text"]').val('');//input清空,清除脏数据
        })
        $('#canceladd').click(function () {
            $('.shadow').addClass('hide');
            $('.input').addClass('hide');
        })
        $('.edit').click(function () {
            $('.shadow .input').removeClass('hide');
            var tds = $(this).parent().prevAll();//找到所有的td
            tds.each(function () {
                var target = $(this).attr('target');//#port #hostname #ip
                var v = $(this).text();//获得每行数据
                $(target).val(v);//赋值
            })
        })

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

 

二、操作

  - addClass('x')

  - removeClass('x')

  -toggleClass('hide')

  - val()
    - $('#i1').val() # 获取值
    - $('#i1').val('ff') # 设置
  PS:textarea,select
  - text()
    - $('#i1').text() # 获取值
    - $('#i1').text('ff') # 设置

  - html()
    - $('#i1').html() # 获取值
    - $('#i1').html('ff') # 设置
  - attr()#属性
    - $('#i1').attr('属性名') # 获取值
    - $('#i1').attr('属性名','new') # 对属性设置值
  - prop()
    专门对于checkbox,提供的内容
$(':checkbox').attr('checked','checked');
$(':checkbox').prop('checked',true)
$(':checkbox').prop('checked',false)

文档处理

// $('#u1').append(tag);在u1的孩子最后追加

// $('#u1').prepend(tag);上
// $('#u1').after(tag);

// $('#u1').before(tag);
// $(tag).appendTo($('#u1'));
// $(tag).empty()
// $(tag).remove()

css处理

$('t1').css('样式名称','值')

位置

$(window).scollTop(0)返回顶部

$('#i1').offset()获取位置

绑定事件

 

 

posted @ 2017-02-27 11:07  hongpeng0209  阅读(175)  评论(0编辑  收藏  举报