• jQuery的选择器+实例


    返回目录

    jQuery的冒号选择器

    表单  :input :text :password :radio :checkbox :submit :image :reset :button :file :hidden :selected :checked 
    基本   :first :last :not :even :odd :eq :gt :lt :header :animated  
    内容   :contains :empty :has :parent  
    可见性  :hidden :visible 

    jQuery对象转DOM对象 即$("选择器")[0] 语法现象 

    参考

    返回目录

    jQuery中和中和样式相关一些工具方法

    1. jQuery对象.addClass("DrugsActive"), 为节点增加class="xxx" 属性
    1.1. jQuery对象.removeClass("DrugsActive")
    
    2. jQuery对象.css("width", "20%"); //直接为jquery对象修改css样式
    $("#tblPart1>tbody>tr[id^='q']:odd").addClass("tr-dark");

    jQuery判断显示与隐藏涉及show()方法, css()方法

    switch ($("#divSearchBy" + divId).css("display")) {
            case "none":
                $("#divSearchBy" + divId).show();
                $("#divSearchBy" + divId).css("display", "block");

    jQuery show()方法的逆方法 .hide()

    jquery获取节点属性的值 attr( )方法

    var vid = "#" + $(this).attr("id");
    .removeAttr("readonly")
    $("#txtUserName,#txtContact,#txtTelephone,#txtEmail").attr("readonly", "readonly");

    jQuery Input 方括号选择器

     $("input[name='" + roleRecords[i].MenuID + "']").attr("checked", true);

     jQuery name正则选择器

    var allCheckbox = $("[name$='cbR']");

    表示name它的字面值以cbR结尾,其它 label[name*='industry'] 表示包含

    jQuery 复合选择器之在范围选择

    $("input[id$=cbxSelect]", document.getElementById("ctl00_ContentPlaceHolder1_grvScale"))

    例2

    $("tr[id^='q']", "#tblPart1").each(function () {
        if ($("input:checkbox:checked", this).length == 0) {
            hasNoAnswer = true;
            noAnswerTrId.push($(this).attr("id"));
        }
    });

    读作: 在id=tblPart1的节点中,查找所有id以q开头的dom元素, 之后使用 $("input:checkbox:checked", this) 在它内部查找checkbox元素,并判断是否被选中(做必须判断)

    选择type=checkbox 同时属性disabled!=true的

    $("input[type='checkbox'][disabled!=disabled]").attr("checked",true);

     多属性复合选择器

    $("input[type='checkbox'][name='" + item.name + "']:checked")

     选取器中的OR逻辑

    $("#txtUserName,#txtContact,#txtTelephone,#txtEmail").removeAttr("readonly");

    选择器相关 选中table中tr的最后一个td

    $("#outRegistList tr").find("td:last").each(function(index,item){
        if (item.innerText == "") {
            alert("还有外出未返回不能新增!");
            return;
        }
    }) 

    事件相关

    Table复选框全选及不为空之jquery 实例

    $(function () {
        $("#allCheck").bind("click", function () {
            $("[name = $chkItem]:checkbox").attr("checked", $(this).attr("checked"));
        });
    })
    
    function beforExport() {
        var flag;
        $("[name = $chkItem]:checkbox").each(function () {
            if ($(this).attr("checked") == true) {
                flag = true;
                return flag;
            }
        });
        if (!flag) {
            alert("至少勾选1项导出凭证");
            return false;
        }
    }

    table行选中样式控制 (siblings、hover)

    $("body").delegate("#tb_2 tr", "click", function () {
        $(this).addClass('tr_color').siblings("tr").removeClass("tr_color");
    });
    $(".tbl-list>tbody>tr").hover(
        function () { $(this).addClass("tr-hover"); },
        function () { $(this).removeClass("tr-hover"); }
    );
    $("tr", "#lstBody").hover(
        function () { $(this).addClass('tr-hover'); },
        function () { $(this).removeClass('tr-hover'); 
    });

    each用法

     1 function GetSelectHS(){
     2     var select = $('<div></div>');
     3     $.each(nurser, function (i,item) {
     4                     $("<option></option>")
     5                         .val(item.id)
     6                         .text(item.Name)
     7                         .appendTo(select);
     8     });
     9     return $(select).html();
    10 }

    第3行nurser是对象集合, i是索引

    var YS = {
        2: '2.嗜睡',
        3: '3.意识模糊'
    }
    function GetSelectYS(){
        var select = $('<div></div>');
        $.each(YS, function (i, item) {
                        $("<option></option>")
                            .val(i)
                            .text(item)
                            .appendTo(select);
        });
        return $(select).html();
    }
    var allShowTds = $("td[name='row_"+dataIndex+"']");
    allShowTds.each(function(){
        //$(this)取得当前jquery对象
    });

     参考1  参考2

    利用next()方法判断最后一个tr节点

    //$this是<a>对象
    $this.parents('tr').next().length == 0

    判断boostrap中哪个Tab页被选中 

     $("#search").click(function () {
         $("#myTabs").find("a").each(function () {
             if ($(this).parent().attr("class") === "active") {
                 if ($(this).attr("href") === "#table1") {
                     createPuzzleFeeTableFromPortal();
                 }
                 else {
                     createPuzzleFeeTableFromPortalTab2();
                 }
             }
         })
     });

    为boostrap中Tab页绑定处理事件

    $('#myTabs a').click(function (e) {
        e.preventDefault();
        if ($(this).attr("href") === "#table1" || $(this).parent().attr("class") === "active") {
            $("#tab1FeeType").show();
            $("#tab1FeeType").css("display", "block");
            $("#tab2FeeType").hide();
            $("#tab2FeeType").css("display", "none");
        }
        else {
            $("#tab2FeeType").show();
            $("#tab2FeeType").css("display", "block");
            $("#tab1FeeType").hide();
            $("#tab1FeeType").css("display", "none");
        }
    })

     jquery选择器中逗号的使用

    1. $("p,div,span.menuitem")  相当于or的作用,表示同时选择p标签,div标签,和拥有menuitem样式的span标签元素

    2.在指定的某个范围的选择器,即相对选择器

    <table id="table1"> 
        <tr><td>dsds</td><td>dsfdef</td></tr>
        <tr><td>dsds</td><td>dsfdef</td></tr> 
        <tr><td>dsds</td><td>dsfdef</td></tr> 
        <tr><td>dsds</td><td>dsfdef</td></tr> 
        <tr><td>dsds</td><td>dsfdef</td></tr> 
    </table>
    <script type="text/javascript"> 
        $(function () { 
            $("#table1 tr").click(function () { 
                    $("td", $(this)).css("background", "red"); //相对选择器,选择出的td是以当前的tr为相对的元素。选择的td元素是当前的tr元素下的所有td元素,没有涉及到其他行的td元素
                }); 
            }); 
    </script>

    tab书签书签样式切换 

    $(document).ready(function () {
        $(".nei-nav li a").bind("click", function () {
          $(".nei-nav li").each(function () {
            $(this).removeAttr("class");
            //$(this).attr("class", "");
          })
          setActive();
        })
        setActive();
    });
    function setActive() {
        var curType = $("#curType").val();
        $("#" + curType).attr("class", "active");
    }

    范围选择器、jquery修改样式CSS相关、each

    var topImgUrl = [
      "http://www.ciicsh.com/eportal/uiFramework/commonResource/image/2020082615213661087.jpg",
      "http://www.ciicsh.com/eportal/uiFramework/commonResource/image/2020082615215522690.jpg",
      "http://www.ciicsh.com/eportal/uiFramework/commonResource/image/2020082615220813883.jpg"
    ]
    $(document).ready(function () {
      $(".newsItem .thumbnail").each(function (index, item) {//范围选择器,在class=newsItem下查找class=thumbnail DOM
        // if(index== 1){
        //   //$(this).attr("class", "thumbnail even");
        //   $(this).addClass("even")
        // }
        var data = $("p.hidden-data", $(this)).text();//范围选择器例子
        var gzpp = data.split("|");
        $(".gzpp-local", $(this)).text(gzpp[0]);
        $(".gzpp-position", $(this)).text(gzpp[1]);
        $(".gzpp-company", $(this)).text(gzpp[2]);
        $(".gzpp-other", $(this)).text(gzpp[3]);
      })
    
      $(".caption-pic").each(function(index,item) {
        $(this).css("background-image", "url(" + topImgUrl[index] + ")");
        $(this).css("background-size", "cover");
            //debugger
            //$(".top-img", $(this)).css("background-image", "url(" + topImgUrl[index] + ")");
            //$(item).css("background-image", "url(" + topImgUrl[index] + ")");
            //$(this).css("background","rgba(0,0,0,0.8)");
            //$(this).css("background", "#fff url(" + topImgUrl[index] + ") no-repeat center center;");
      })
    });

    End

    end

  • 相关阅读:
    在公网上搭建的svn的经验
    Android postTranslate和preTranslate的理解
    archlinux pacman 报error 的解决办法
    C# .net 子类序列化时无法识别的解决办法
    eclipse 打开已有的项目
    .net 自带的md5 加密
    C#.NET里原型的解释和应用浅表复制和深表复制
    android开发中fragment的引用以及fragment与activity之间通信的概述
    Android通过http方式获取JSON字符串并解析的注意事项(乱码,小黑框)
    .NET 序列化 "该类型不能序列化"
  • 原文地址:https://www.cnblogs.com/zhuji/p/6701880.html
Copyright © 2020-2023  润新知