2017-10-29 3 views
0

なぜ私は#でid値を得ることができますが、でクラス値を取得できません。 例: $(button#${value}).val() - >作品クラスの値を取得する

$(button.${value}).val() - >動作しません。

+3

ボタン要素には値がありません。 – trincot

答えて

0

JQセレクタはDOMからオブジェクトを選択し、そのオブジェクトの値を取得しようとしています。この場合、値のないオブジェクトを選択したことになります。

+0

しかし、それは私の状況ではないからです。私はIDで動作するので値がありますが、クラスに変更すると実行されません。 –

+0

その場合、同じクラスの複数の要素の可能性を期待する必要があるため、JQが単一の値ではなく配列を返すことを意味する場合があります。 – TecBrat

1

button要素にvalueプロパティがない場合、val()は空の文字列を返します。

しかし、このスニペットが示すようあなたは、それが動作するあなたのbutton要素にvalue属性を置く場合:

var valueA = "a", valueB = "b"; 
 
console.log($(`button#${valueA}`).val()); 
 
console.log($(`button.${valueB}`).val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="a" class="b" value="hello">click</button>

または、あなたは、例えば、ボタンのテキスト(.text())を取る場合に、それも動作します:

var valueA = "a", valueB = "b"; 
 
console.log($(`button#${valueA}`).text()); 
 
console.log($(`button.${valueB}`).text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="a" class="b" value="hello">click</button>

+0

* "ボタン要素には値プロパティ" *がありません。私はここで混乱している、あなたは確かですか? MDNはそうでないと言う:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button –

+0

うーん、病気はこれをよく見ていなければならない。病気にして、それがどのように動作するかを見てください。 –

+0

同時に、私はそれをページに印刷したくありません。それは.text()がすることですか?私はカードゲームを作っているので、ユーザーがいつ同じ値に一致するかを知る必要があります。 –

関連する問題