首页 > 代码库 > 当class有多个class属性时截取操作

当class有多个class属性时截取操作

这里是实现以个输入对应的页码就跳转,没有或者为字符情况下弹出不存在对应页面

技术分享

这里难点就是有currentPage的class属性的截取

$(document).on("click", ".turninto", function() {
        var txt = $("#main_body").find(".input-txt").val();
        var str = "";
        $("#main_body").find(".pager a").each(function() {
            if (!$(this).hasClass("currentPage")) {
                var id = $(this).attr("class"),
                    st = "",
                    str2 = "",
                    name = "";
                str2 = id.substring(5) + ","; //对没有currentPage的class属性值进行操作
                var classname = $("#main_body").find(".currentPage").attr("class"); //对有currentPage的class属性单独操作
                var classname2 = classname.split(" "); //因为classname值为 page_1 currentPage这种形式,先分割成数组
                name = classname2[0].substring(5); //再对索引为0的数组进行截取5以后的字符
                str += str2 + name + ","; //组装字符串,不需要考虑重复值,要优化的就是去重复值
            }
        });
     
        if (str.indexOf(txt) > 0) { //通过str.indexOf(txt)>0,判断str中是否有txt字符串;
            if (txt != "") {
                var url = fn;
                var num = $("#main_body").find(".currentPage").attr("class");
                var number = num.split(" ");
                num = number[0].substring(5); //当前页的num;
                $(".page_" + num).removeClass("currentPage");
                $(".page_" + txt).addClass("currentPage");
                $.ajax({
                    url: url,
                    type: "get",
                    dataType: "JSON",
                    error: function() {
                        alert("error");
                    },
                    success: function(data) {
                        loadPage(data, txt);
                    }
                });
            }
        } else {
            alert("不包含当前页");
        }
    }); 

// 对class属性名字中有currentPage和没有currentPage的分开切割字符串然后组装,

 

当class有多个class属性时截取操作