0

我有这样的外部 DIVS。

<Input id ="SaveMe" value="Click" type="submit" >
</Input>

<DIV id="DivOne">
    <DIV >First Content
        <DIV>X
        </DIV>
    </DIV>
        <DIV>Second Content
            <DIV>X
            </DIV>
    </DIV>

</DIV>

我想遍历外部 DIV 并获取文本。我正在使用 JQuery 代码。

$("#SaveMe").click(function() {
    $("#DivOne").children().each(function(index, elem) {
        alert($(elem).text());
    });
});

但它显示第一个内容 X,第二个内容 X。我希望“每个循环”将首先循环通过外部 DIV,然后是内部 DIV。我怎么能忽略循环通过内部 DIV(具有内容 X 的 DIV)。http://jsfiddle.net/VVGRc/1/

谢谢 !

4

2 回答 2

2

仅过滤文本节点:

$("#SaveMe").click(function(e) {
    $("#DivOne").children().each(function(index, elem) {
        var text = $(elem).contents().filter(function() {
            return this.nodeType == 3;
        }).text();
        alert(text);
    });
});​

小提琴

于 2012-07-29T20:40:18.100 回答
1

http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/

男性克隆。删除克隆的所有 child.elements。返回文本内容

于 2012-07-29T20:29:12.317 回答