使用jQuery选择同一Div中的某个元素类型作为另一个元素

时间:2011-09-07 19:01:48

标签: jquery input click clear

我是jQuery的新手,我认为这是一个基本问题。我在谷歌和jQuery网站上搜索了关于“父母”和“孩子”的信息,但是我无法用言语表达我想要完成的事情。

假设我有以下标记:

<div>
    <input type="text" value="John Doe" /> 
    <a href="#" class="clearButton">clear</a>
</div>
<div>
    <input type="text" value="Jane Doe" /> 
    <a href="#" class="clearButton">clear</a>
</div>
<div>
    <input type="text" value="Joe Smith" /> 
    <a href="#" class="clearButton">clear</a>
</div>

我本质上想写一些jQuery,使每个“clearButton”链接清除其兄弟输入的点击值。这是可能的,因为我的标记?或者我是否需要在每个输入或每个div上使用唯一标识符?是否可以接收单击,然后使用“this”命令选择正确的兄弟输入?我使用兄弟代码组合了一些我自己的代码,但它立刻清除了所有输入。

非常感谢任何相关信息的提示或链接! 谢谢!

4 个答案:

答案 0 :(得分:8)

如果链接始终位于输入字段旁边:

$('.clearButton').click(function() {
    $(this)          // the clearButton
          .prev()    // get the input field
          .val('');  // clear its value

    return false;    // disable default link action (otherwise # adds to url)
});

答案 1 :(得分:5)

ParentFinddemo

$(document).ready(function () {
    $('.clearButton').click(function () {
       $(this).parent().find('input').val('');   
    }) 
});

答案 2 :(得分:4)

您可能只需要将.first()附加到您的代码中。看起来应该是这样的:

$('.clearButton').click(function() {
    $(this).siblings().first().val('');
});

答案 3 :(得分:1)

$('.clearButton').click(function () {
   $(this).sibling('input').val('');   
});