1
$(document).ready(function()
{
    $('button').on('click', function()
    {            
        $('.container').children().eq(1).append($('p.important').text());
    });
});

<div class="container">
    <p>1</p>
    <p>2</p>

    <button>Lawl, a button.</button>

    <p>3</p>
    <p class="important">Text to be copied</p>
</div>

I want to find the closest upper p tag to my button. For example, if I move button under <p>1</p>, it should append values to it. If I move my button to bottom, it should add append values to <p>3</p>.

Is it possible with my current HTML?

4

3 回答 3

2

您可以使用nextprev方法。

.next( [selector] ):获取匹配元素集中每个元素的紧随其后的兄弟。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟。

.prev( [selector] ):获取匹配元素集中每个元素的前一个兄弟元素,可选地由选择器过滤。

$('.container button').on('click', function(e) {
      e.preventDefault(); 
      var txt = $('p.important').text();
      $(this).next('p').append(txt);    
});
于 2012-09-11T12:35:54.730 回答
1

尝试最接近的方法。它必须成功!

$("button").click(function(){
    $(this).closest('p');
})
于 2012-09-11T12:26:49.947 回答
0

您可以根据需要使用以下方法之一:

于 2012-09-11T12:29:31.163 回答