2015-11-09 5 views
2

Я хочу видеть, имеет ли класс <li> определенный класс, однако уловка состоит в том, что все они уникальны, но все содержат константу «unqID». Я хочу проверить, имеет ли класс <li> класс, который содержит эту строку, а если нет, добавьте новый класс в <li>. Я знаю, как узнать, имеет ли элемент точное имя класса, но не знает, как найти частичные имена классов.jQuery: Поиск частичного имени класса

<li class="orange blue"> 
    <div class="answer">Some Content</div> 
</li> 
<input type="button" name="yellow" value="yellow" class="yellow" /> 
<input type="text" value="" class="result" /> 

$("input.yellow").click(function() { 
    // CREATE UNIQUE CLASS ID 
    var d = new Date(); 
    var n = d.getTime(); 
    var unq = "unqID" + n; 

    //CHECK TO SEE IF LI ALREADY HAS THE UNIQUE CLASS 
    if ($("div.answer").parent().hasClass("unqID")){ 
     $("input.result").val("has class"); 
    } else { 
     $("div.answer").parent().addClass(unq); 
     $("input.result").val("class added"); 
    }; 
}); 

The jsFiddle

+0

Используйте атрибут селекторы: '$ ("Ли [класс = строка]")' – Twisty

ответ

7

Вы можете сделать несколько простых частичную проверку с

$('[class^="value"]') <-- starts with string 
$('[class$="value"]') <-- ends with string 
$('[class~="value"]') <-- i believe this is the contains string version 
Смежные вопросы