[0]を使用する必要がなく、innerTextの代わりにJQuery Textでテキストにアクセスできるように、これを記述するためのより良い方法はありますか?クロスブラウザ互換性のためにinnerTextを使用したくありません。
$('#' + controlBestPractice)[0].innerText
[0]を使用する必要がなく、innerTextの代わりにJQuery Textでテキストにアクセスできるように、これを記述するためのより良い方法はありますか?クロスブラウザ互換性のためにinnerTextを使用したくありません。
$('#' + controlBestPractice)[0].innerText
セレクターが複数の要素を返す場合は、最初に使用します(内部controlBestPractice
に何があるかはわかりません。たとえば、次のようになります#div-id p
)。
$('#' + controlBestPractice).first().text()
bhamlinがコメントで指摘しているように、idセレクターを使用しているように見えるため、要素は1つだけである必要があるため、これは機能するはずです。
$('#' + controlBestPractice).text()
あなたはこのようなことを試すことができます:
$('#' + controlBestPractice + ':eq(0)').text();
また
$('#' + controlBestPractice).first().text()
なんでやってるの.first()
?これはIDであり、1つだけ存在する必要があります。
$('#' + controlBestPractice).text()
うまく動作します
次の状況で必要になるかもしれませんが.first()
、それは選択の悪い(紛らわしい)方法にすぎません。
<div id="foo">
<div class="bar">a</div>
<div class="bar">b</div>
<div class="bar">c</div>
</div>
controlBestPractice = "foo .bar";
$('#' + controlBestPractice).text(); // returns abc
$('#' + controlBestPractice).first().text() // returns a
[0]
idによるセレクターなので、最後にを追加する必要はありません。は#
IDで選択していることを示し、IDは一意であるため、jQueryは単一の要素のみを返します。