2015-05-13 77 views
1

我有這樣的HTML結構到指定的父元素,然後找到指定的子

<div class="parent_wrapper"> 
    <div class="child_element_one"> 
    </div> 
    <div class="child_element_two"> 
     <p></p> 
    </div> 
    <div class="child_element_three"> 
     <a href="#">Click to test</a> 
    </div> 

,而我試圖與它的工作(我嘗試到目前爲止)

$('.child_element_three a').click(function(e){ 
    $(this).parents('parent_wrapper').find('.child_element_two p').text("added to the div that has a class of child_element_two paragraph"); 
}); 

腳本問題:添加到具有child_element_two段的所有div的div中,我只想將文本添加到具有當前觸發鏈接或當前點擊鏈接組的同一組的.child_element_two段落中。怎麼做?

回答

2

您缺少parent_wrapper中的類選擇器,您已將其用作元素選擇器。

也改變.parents()closest(),因爲你只想要第一個父選擇匹配

$(this).closest('.parent_wrapper').find('.child_element_two p').text("added to the div that has a class of child_element_two paragraph"); 

演示:Fiddle

+0

謝謝你,工作像魅力 –

1

我認爲你可以在這個任務中使用.siblings

$('.child_element_three a').click(function (e) { 
    $(this).parent().siblings('.child_element_two').find('p').text("added to the div that has a class of child_element_two paragraph"); 
}); 

DEMO:https://jsfiddle.net/udzdnh11/2/

0

你可以嘗試:

$('.child_element_three a').click(function(e){ 
    $(this).parent().find('.child_element_two p').text("added to the div that has a class of child_element_two paragraph"); 
}); 
1
$('.child_element_three a').click(function(e){ 
    $(this).parents('.parent_wrapper').find('.child_element_two p').text("added to the div that has a class of child_element_two paragraph"); 
}); 

ü缺少.parents('.parent_wrapper')