-2

У меня есть div со многими разными классами. Я знаю, что я могу выбрать div с началами с $('div[class^=class]'), но я хочу получить полное имя класса, если знаю, с чего он начинается. Я использую Bootstrap, а столбцы начинаются с col-lg-, поэтому для каждого div, который имеет класс $('div[class^=col-lg-]')Я хочу знать остальную часть этого класса (пример col-lg-4) или номер в этом кейс.Получить полное имя класса, который начинается с?

$('[class^col-lg-]').each(function(){ 

    var block = {}; 
    block.width = ___; 

}); 
+0

Вы можете получить классы с '$ (это) .attr (» class ') 'и применить регулярное выражение для результата строки. – Bluety

+0

Пример, пожалуйста? – triplethreat77

+0

Итак, вы хотите найти каждый элемент, чей класс «* начинается с *», строка '' col-lg- "' или имеет какой-либо класс, который начинается с '' col-lg- "'? –

ответ

1

использование $(this).attr('class')

$(function(){ 
$("div[class^='col-lg-']").each(function(){ 
     var fullclassname= $.grep(this.className.split(" "), function(v, i){ 
     return v.indexOf('col-lg-') === 0; 
    }).join(); 
    alert(fullclassname); 
    }); 
    }); 

WORKING DEMO

или вы можете также использовать

$(this).prop("class") 
+0

Это не сработает, потому что ** У меня есть многозначные классы ** – triplethreat77

+0

@ triplethreat77: тогда попробуйте обновить ответ –

+0

@ triplethreat77: пожалуйста, проверьте мою демонстрацию и отмените ваш downvote –

0
$('[class^=col-lg-]').each(function(){ 
    var classNames= $(this).attr('class').split(' '); 
    var requiredClass; 
    for(var i=0;i<classNames.length;i++) 
{ 
    if(classNames[i].match('col-lg-')){ 
    requiredClass=classNames[i]; 
    break; 
    } 
} 
    var block = {}; 
    block.width = ___; 

}); 
+0

Это не сработает, потому что у меня есть многоуровневые классы – triplethreat77

+0

проверить обновленный код –

Смежные вопросы