2013-10-10 3 views
0

Доброе утро,класс изменения jQuery, если значение атрибута =

Извините, я думаю, что это простой «глупый» вопрос, но у меня большой пробел.

Я хочу изменить класс, если значение attr равно заданному значению.

У меня есть следующие:

<a str=10 href="start.php class="old">Start<a> 

Так что, если ул атр от а является 10 я поставлю класс в класс = "новый"

Я попытался somethig как:

$('a.attr.subnr.10).addClass('old'); 

Я думаю, что он рано утром :-(

Спасибо!

ответ

2

Попробуйте это простое утверждение:

$("a[str='10']").addClass("old"); 
+0

Спасибо его самый простой способ! – Phantom001

0
$('a[str=10]').removeClass('old').addClass('new'); 
1

Прежде всего, str не является допустимым атрибутом, рекомендуется использовать data-str

Вы можете сделать это, как

if($('a').attr('data-str') == 10) { 
    $('a').addClass('add_class'); 
} 

Demo


Убедитесь, что вы используете определенный селектор, это обобщенное один, так что попробуйте использовать что-то вроде .parent a


Если вы хотите чистое решение CSS, чем вы можете также использовать attr=value селектор, как

a[data-str="10"] { 
    color: red; 
} 

Это не добавит класс в ваш элемент, но вы можете настроить его, используя указанный выше селектор.

+0

Спасибо за это хорошее выражение! Вы правы, это не действительное значение, но в моем случае грустно сказать, что необходимо :-( – Phantom001

+0

@ Phantom001 использовать цитаты вокруг значения atleast .. –

0

попробовать это

$('a[str=10]').removeClass('oldClass').addClass('newClass'); 
$('a[str!=10]').removeClass('newClass').addClass('OldClass'); 
Смежные вопросы