1

たとえば、次の HTML があるとします。

<a id="test" href="#">Text of A <span>(span text)</span></a>

その後、jQuery('#test').text()が返さ'Text of A (span text)'れます。取得する方法はありますか'Text of A '(タグ内のテキストであり、<a>子孫<span>タグ内ではありません)。

4

2 に答える 2

2

ここにあなたの問題を解決する会話へのリンクがあります: select top level nodetext is not supported with jQuery?

ここに抜粋があります:

$("#hello").clone().children().remove().end().text();
于 2013-01-31T02:42:04.620 に答える
0

簡単なプラグインを作成することでこれを行う再利用可能な方法を次に示します。

プラグイン

(function ($) {
    $.fn.directText = function () {
        var o = "";
        this.each(function () {
            var nodes = this.childNodes;
            for (var i = 0; i <= nodes.length - 1; i++) {
                if (nodes[i].nodeType == 3) o += nodes[i].nodeValue;
            }
        });
        return $.trim(o);
    };
})(jQuery);

使用法

$("#myElement").directText();

デモ ==> http://jsfiddle.net/ChrisMBarr/8X9LC/

于 2013-01-31T04:16:40.950 に答える