次のjQueryコードを使用して、title属性と同じ値を持つテキストフィールドの数を数えます。特定の値を含まない要素を選択するjQuery
$(".textfield").val($(".textfield").attr('title')).size();
問題:はどのように私はそのtitle属性に等しい値を持っていませんテキストフィールドの数を数えるのですか?
次のjQueryコードを使用して、title属性と同じ値を持つテキストフィールドの数を数えます。特定の値を含まない要素を選択するjQuery
$(".textfield").val($(".textfield").attr('title')).size();
問題:はどのように私はそのtitle属性に等しい値を持っていませんテキストフィールドの数を数えるのですか?
まず、あなたが投稿したコードは、あなたが言うことをしていません。この:
$(".textfield").val($(".textfield").attr('title')).size();
は最初の「.textfield」要素のtitle属性のタイトルにクラス「.textfield」とすべて要素の値を設定し、それらのすべての数を返します。
.val()
メソッドの戻り値(現在の値を返すパラメータなし)を.attr('title')
メソッドの戻り値と比較する必要があります。あなたは.filter()
でこれを行うと、その結果のjQueryオブジェクトの.length
を確認することができます。
$('.textfield').filter(function() {
var $this = $(this);
return $this.val() == $this.attr('title');
}).length;
そして値がちょうど!=
代わりの==
を除いて同じことを行うと等しくない場合、それらの数を取得します。だから、:
$('.textfield').filter(function() {
var $this = $(this);
return $this.val() != $this.attr('title');
}).length;
(.length
はあなた.size()
と同じ数を与えるが、関数呼び出しのオーバーヘッドなしになることに注意してください。)
私はfilter()
を使用し、返されたセットのlength
プロパティにアクセスします。
var count = $('.textfield').filter(function() {
return $(this).val() != $(this).attr('title');
}).length;
また、おそらくreturn this.value != this.title
としてfilter()
の本体と離れて得ることができます。
filter
関数を使用します。セレクタvar length = $('.textfield').filter(function() {
return this.value != this.title;
}).length;
'textfield'は' textbox'ではありません – gdoron
ありがとう@gdoron。一定。 – nnnnnn