0

<a>タグを取得し、jQuery 要素として保持しています。の前にあるテキストを取得したいと思います</a>。しかし、問題はそこにもテーブルがあることです。

<a>
 Text content I want
 <table>
   <tr>
    <td>
      lots of tds
    </td>
   </tr>
 </table>
</a>

text()すべてを取得しますが、text(":not('table')")明らかにナンセンスであり、text().not("table")何も返しません。アンカー内のこの特異なテキスト文字列を取得するにはどうすればよいですか?

4

2 に答える 2

2

あなたがしたいことは、子要素のテキストを取得せずに要素のテキストを取得することです。

基本的に、要素を複製し、<a>その子を選択し、子 (テーブル) を削除してから、残りのテキストをキャプチャします。

$('a').clone().children().remove().end().text()

これは、上記のコードの結果をブラウザーに警告しただけのフィドルです。 http://jsfiddle.net/6pBqY/

これがすべての場合にうまくいくかどうかはわかりませんが、あなたの例ではうまくいくようです。

詳細については、次の Web サイトからこのソリューションを導き出しました: http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/

于 2013-10-24T21:44:16.100 に答える