繁体   English   中英

使用jQuery获取字符串的子字符串

[英]Obtain a substring of a string using jQuery

我有一个具有以下课程的div:

form-group val-presence-text val-type-pos-int val-length-10 has-success has-feedback

我想从val-length-10类名中获取10 我尝试了各种方法,但是似乎没有一种方法可用于这样的动态多类属性。 此外, 10可以是任何正整数,并且该类别可以位于该类别组内的任何位置。

有任何想法吗?

您可以使用此:

var val_length = $('div').attr("class").match(/val-length-(\d+)/)[1];

一种可能的解决方案:

var n = (this.className.match(/val-length-(\d+)/) || []).pop();

或在上下文中:

$('[class*="val-length-"]').each(function() {
    var n = (this.className.match(/val-length-(\d+)/) || []).pop();
    console.log(n);
});

假设它是“ val-length”,并且永远不会改变,而其末尾只是整数,那么您应该能够做到这一点:

//get an array of classes on a specific element
var classList =$('#elementId').attr('class').split(/\s+/);
//loop through them all
$.each( classList, function(index, item){
    //check if any of those classes begin with val-length-
    if (item.indexOf('val-length' === 0) {
       console.log(item.substring(11))
    }
 });

尝试这个...

$("div[class*=val-length-]").each(function() {
    var s = this.className;
    var length = 0;

    $(s.split(" ")).each(function() {
        if (this.search("val-length-") === 0) {
            length = this.substr(11);
        }
    });

    console.log(length);
});

它将找到相关的div并为您拉取值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM