2016-04-14 3 views
0

Я пытаюсь получить полное имя класса, которое содержит название «CDW» в его имени. Для ex я хочу получить для этих элементов с ID = 1 полное имя класса только CDW102. $ (# 1.hasClass ['CDW']), получить полное имя класса, которое является CDW102, и я не хочу, чтобы другие имена классов для этот элемент. То, что я пытался до сих пор, чтобы выяснить, если он имеет это имя класса или не используяПолучить полное имя класса на основе неполного имени класса

$.fn.hasPartialClass = function (partial) { 
    return new RegExp(partial).test(this.prop('class')); 
}; 

var yes=$(this).hasPartialClass("CDW") 

<td id="102" class="one two three CDW102"> 

Как получить fullclass имя CDW102

ответ

0

Как получить fullclass имени CDW102

Вы можете разделить классы до их естественного разделителя (пробел), петля над ними, и вернуть весь класс, если он найден. Если ни один не найден, вы можете просто вернуть его false.

$.fn.hasPartialClass = function (partial) { 
 
    var classes = this.prop('class').split(' '); 
 
    for(var i = 0, len = classes.length; i < len; i++) { 
 
    if(new RegExp(partial).test(classes[i])) { 
 
     return classes[i]; 
 
    } 
 
    } 
 
    return false; 
 
}; 
 

 
var yes=$('#102').hasPartialClass("CDW"); 
 

 
document.body.innerHTML = JSON.stringify(yes);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="102" class="one two three CDW102"></div>

0

вы можете проверить свои регулярные выражения, то условно вернуть то, что вы хотите, как это:

$.fn.hasPartialClass = function (partial) { 
 
    if(new RegExp(partial).test(this.prop('class'))) { 
 
     return this.prop('class'); 
 
    } 
 
    return false; 
 
};

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