0

重複の可能性:
子孫を除く要素内のテキストを取得する

1つのセレクターを使用してtext()メソッドのみで要素データの一部を取得しようとしています。私が次のhtmlコードを持っているとしましょう:

<div class="price">
     <span class='old_price'>1150</span><br />
     920 
</div>

920この場合、 (tなしで)を取得したいだけです1150。1つのセレクターを使用してそれを行うことは可能ですか?

たとえば、私がそうする場合div.price.text()、私は両方の価格を取得します。つまり、「1行」とはdiv.price.not("span.old_price").text()、そのような意味です。

4

1 に答える 1

0

jQuery APIドキュメントからDescription: Get the combined text contents of each element in the set of matched elements, including their descendants.、外側の要素のみを選択した場合でも、text()を使用して結果の一部として両方の数値を取得します。

したがって、必要なのは、テキストノード以外のすべてを除外することです

$(".price").contents().filter(
    function() {
       return this.nodeType === 3;  // text node
    }
).text();

空白を削除することをお勧めします(この場合、上記のコードを次のようにラップできます$.trim()

于 2012-07-22T14:24:01.707 に答える