獲取

2013-03-07 41 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