如果条件为真,则追加元素

时间:2011-04-06 16:05:10

标签: javascript jquery jquery-selectors

我有一些具有某个类的元素,如果某个条件成立,我会尝试向它们添加一些东西。这是一个例子,但它告诉我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 个答案:

答案 0 :(得分:5)

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

你遇到了一些问题。

首先,您需要引用$(this)而不是this来使用jQuery函数。

其次,使用.text()将元素的值作为文本。

将文本与javascript中的数字进行比较时,parseInt(value,10)只是一个好主意。

答案 1 :(得分:1)

this.value() 不是一个函数 - 有this.value属性或jQuery.val()函数。但是,在这种情况下,您有一个没有值的<span>标记,因此您最好使用jQuery.text()代替。使用此功能,您可以将代码更改为:

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