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

这是一个可以解决您的问题的对话的链接: 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 回答