Добавить к элементам, если условие истинно - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть несколько элементов с определенным классом, и я пытаюсь что-то добавить к ним, если определенное условие выполняется.Вот пример, но он говорит мне, что this.value () не является функцией.Я не уверен, как ссылаться на отдельный элемент с помощью jquery.

<span class="numbers">1</span><br>
<span class="numbers">2</span><br>
<span class="numbers">3</span><br>

$('.numbers').after(function() {
    if (this.value() > 1) return ('<span>Bigger than one.</span>');
});

http://jsfiddle.net/SkuW3/

Ответы [ 2 ]

5 голосов
/ 06 апреля 2011
$('.numbers').after(function() {
    if (parseInt($(this).text(), 10) > 1) return ('<span>Bigger than one.</span>');
});

У вас было несколько проблем.

Во-первых, вам нужно обратиться к $(this) вместо this, чтобы использовать функцию jQuery.

Во-вторых, используйте.text() чтобы получить значение элемента в виде текста.

ParseInt (value, 10) - это просто хорошая идея при сравнении текста с числом в javascript.

1 голос
/ 06 апреля 2011

this.value() не функция - есть свойство this.value или функция jQuery.val().Но в этом случае у вас есть тег <span>, который не имеет значения, поэтому вам лучше использовать jQuery.text().Используя это, вы можете изменить свой код на:

$('.numbers').after(function() {
    if (parseInt($(this).text(), 10) > 1) return ('<span>Bigger than one.</span>');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...