获取

2013-03-07 53 views
2

我试图修改此函数来获取从祖父元素获取

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> 

回答

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

+0

是否可以让我如何将它与功能的结合?我在开始工作时遇到了一些麻烦 – 2013-03-07 17:17:21

+0

@ChayaCooper查看链接的小提琴。我试图让它尽可能清楚。 – 2013-03-07 17:26:11

+0

谢谢:-D一个问题 - 函数现在显示的连接值略有不同(不带空格)。你知道会有什么影响吗?我替换了“$(this).parent()。text();”在我的函数中使用“$(this).closest('label')。clone()。children()。remove()。end()。text();” – 2013-03-07 19:57:08