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