-1

私はこのようなコードを持っています:

<a id="3" class="off area" name = "2" href="">Colchester</a>
<a id="1" class="off area" name = "1" href="">Leicester</a>
<a id="2" class="off area" name = "2" href="">London</a>
<a id="4" class="on area" name = "1" href="">Winchester</a>

また、クラスが「オン」のリンクについては、NAME 属性の合計が必要です。(つまり、ウィンチェスターのみ)。

$('.area .on').each(function() {
    alert(this.id);
    total += parseInt(this.id, 10);
});

ID は数えられますが、NAME 属性は数えられません。そう

total += parseInt(this.id, 10);

動作していますが、これは動作しません:

total += parseInt(this.attr('name'), 10);
4

4 に答える 4

3

これを試して:

total += parseInt(this.name, 10);

Reason beingattrは直接thisキーワードではなく、jQuery オブジェクトで使用されます。

これを行うことで改善できます:

total += parseInt(this.name, 10) || 0;

常に合計として数値を取得するようにします。

于 2013-06-19T14:27:26.690 に答える
2

thisDOM 要素 ( )で jQuery メソッドを呼び出そうとしています

あなたはこれを必要とします -

total += parseInt(this.name, 10);

または

total += parseInt($(this).attr('name'), 10);

デモ-----> http://jsfiddle.net/dtt7u/

于 2013-06-19T14:27:16.090 に答える
1

次のいずれかを行います。

total += parseInt(this.name, 10);

また:

total += parseInt($(this).attr('name'), 10);

ところで、console.log()overを使用しalert()ます。

于 2013-06-19T14:28:50.853 に答える
1
var sum = 0;
$('.area.on').each(function(index, elem) {
    sum += parseInt($(elem).attr('name'));
});

.area.on立つ瀬がない

于 2013-06-19T14:29:03.550 に答える