获得使用jQuery一个字符串的一个子(Obtain a substring of a string

2019-10-30 11:24发布

我有以下类一个div:

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

我想获得10val-length-10类名称。 我已经试过各种方法,但似乎没有为一个动态的多类别属性的工作,像这样的。 此外, 10可以是任何正整数,并且所述类可以位于组类内的任何地方。

有任何想法吗?

Answer 1:

您可以使用此:

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


Answer 2:

一个可能的解决方案:

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);
});


Answer 3:

假设它是“VAL-长度”永远不会改变,只是在它结束的整数,你应该能够做到这一点:

//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))
    }
 });


Answer 4:

尝试这个...

$("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);
});

它会找到相关的股利和拉动价值为您服务。



文章来源: Obtain a substring of a string using jQuery