获取祖父元素中的文本

时间:2013-03-07 17:09:04

标签: javascript jquery parent

我正在尝试修改此函数以从祖父母元素中获取文本

span.html(checked.map(function () { return $(this).parent().text(); }).get().join());

这两个函数都返回祖父母文本以及其兄弟元素(<div class=CheckMark>)中的文本。如何修改它只返回祖父元素中的文本?

span.html(checked.map(function () { return $(this).parent().parent().text(); }).get().join());

span.html(checked.map(function () { return $(this).parents(':eq(1)').text(); }).get().join());

HTML

<li><a href="#">
    <label onclick="toggle_colorbox_alt(this.children[0]);">
        <div style="background-color: #000000" class="color">
            <div class=CheckMark>&#10003;</div>
            <input type="checkbox" name="color[]" value="value" class="cbx"/>
        </div>
        Text I Want
    </label>
</a></li>

1 个答案:

答案 0 :(得分:3)

您似乎想要获取label不包括其子项的文字。

你可以这样做:

var p = $(this).closest('label').clone();
p.children().remove();
var txt = p.text();

或者用更短的链式方式:

var txt = $(this).closest('label').clone().children().remove().end().text();

Demonstration