Как использовать jQuery, чтобы проверить, является ли первая буква элемента метки * и, если это так, изменить его цвет? - PullRequest
0 голосов
/ 21 марта 2012

В основном у меня есть серия div, которая содержит метку и элемент ввода в каждом из них. Некоторые из этих меток имеют «» для обозначения обязательного поля. Я хотел бы создать функцию jQuery, чтобы проверять все элементы метки на наличие «» и, если он его находит, менять его цвет на красный. Я понятия не имею, как мне это сделать.

Что у меня есть на данный момент:

<label for="ccf_name">* Your Name:</label>
<label for="ccf_name">Your Address:</label>

Я бы хотел изменить <label class="">* Your Name:</label> на <label class=""><span class="red">*</span> Your Name:</label>

Есть идеи?

Ответы [ 4 ]

3 голосов
/ 21 марта 2012

Выберите все элементы label, а затем отфильтруйте выделение с помощью filter(), чтобы найти эти label с * в качестве их первого текстового символа, затем используйте addClass() для добавления требуемого (каламбур непредназначен) класс:

$('label').filter(
    function() {
        return $(this).text().substring(0, 1) == '*';
    }).addClass('required');​

А, в CSS:

label.required {
    color: #f00;
}

JS Fiddle demo .

Ссылки:

1 голос
/ 21 марта 2012

Это должно сделать это

$('label').html(function(idx, currentHtml){
   return currentHtml.replace(/^\*/,'<span class="red">*</span>');
});

демо на http://jsfiddle.net/gaby/b5ghj/1/

0 голосов
/ 21 марта 2012

Здесь я создал один способ, которым вы могли бы сделать это:

http://jsfiddle.net/Hqwad/

0 голосов
/ 21 марта 2012

Вы можете получить текст используя .text()

http://api.jquery.com/text/

, затем используйте substr (), проверьте и измените цвет usinf

.addClass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...