web-dev-qa-db-ja.com

jQueryを使用してターゲットのテキストを取得します

順序付けられていないリストからイベントのターゲット要素のテキストを取得しようとしています

<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

このようなコードで

$('ul').click(function() {
theEl=(event.target.text);
});

ログをコンソールするとき

event.target

戻ります

 <li>Item 1</li>

そして

event.target.text

未定義を返します

「アイテム1」が欲しいだけです。私は以前にこれをしたことを知っています-それは遅いに違いありません...どんな援助にも感謝します:)

11

JQueryのテキスト関数を使用します。

$(event.target).text()
20
JeffB

生のJSとjQueryを混同しています。

JQueryでは、$(event.target).text()を使用します

ただし、JavaScriptでははるかに効率的です:event.target.firstChild.nodeValue

編集:これが証拠として JSPerf です。

9

_event.target.text_が定義されていない理由は、HTMLElementにそのメソッドまたはプロパティが定義されていないためです。ただし、jQueryにはtext()があります。これはあなたが探していたものです。 jQueryのメソッドまたはプロパティにアクセスするには、現在のHTMLElementをjqueryオブジェクトでラップする必要があります。これは、それをjQueryに渡すことによって行われます。jQueryはそれを使用して関数オブジェクトを作成し、jQueryプロトタイプはAPIを公開します。

_jQuery(element);//in general
$(event.target).text();//for your situation
_
2
Travis J
_event.target.textContent
_

Javascriptアクセスでもあります。 'Chrome'(またはFirefox)javascriptコンソールを_Ctrl+Shift+J_で実行することをお勧めします。コードをconsole.log(event)と記述し、コンソールで注意してください。オブジェクトのすべての属性を見ることができます。

1
kahonmlg

これを試してください-> event.target.innerText

0
Karthik Sagar