使用JQuery提取元素中的文本

Fu8*_*u86 9 jquery select text extraction

我想用JQuery提取Element中的Text

<div id="bla">
    <span><strong>bla bla bla</strong>I want this text</span>
</div>
Run Code Online (Sandbox Code Playgroud)

我只想要没有强标签的文字"我想要这个文字".我怎样才能做到这一点?

Kie*_*all 7

试试这个...

<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
    $("#bla span").contents().each(function(i) {
        if(this.nodeName == "#text") alert(this.textContent);
    });
});

//]]>
</script>
Run Code Online (Sandbox Code Playgroud)

这不需要从上下文中删除任何其他节点,并且只会在每次迭代时为您提供文本节点.


kar*_*m79 5

这样做(测试):

    var clone = $("#bla > span").clone();
    clone.find('strong').remove();
    alert(clone.text());
Run Code Online (Sandbox Code Playgroud)


cob*_*bal 5

karim79 方法的变化:

$("span").clone().find("strong").remove().end().text();
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想要根文本而不知道其中包含哪些其他标签:

$("span").clone().children().remove().end().text();
Run Code Online (Sandbox Code Playgroud)

仍然有点长,但我认为这与您希望的一样短。