2011-09-07 54 views
4

我是jQuery的新手,擁有我認爲是一個基本問題。我在Google和jQuery網站上搜索了關於「父母」和「孩子」的信息,但我很難將我想要完成的任務寫入文字。使用jQuery在同一個Div中選擇某個元素類型作爲另一個元素

比方說,我有以下標記:

<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」命令選擇正確的同級輸入?我使用同級代碼將自己的代碼放在一起,但它同時清除了所有的輸入。

任何有關信息的提示或鏈接非常感謝! 謝謝!

回答

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) 
}); 
+2

謝謝,馬丁!同時我也感謝所有提供解決方案的人 - 我非常感謝他們的幫助。 – LearnWebCode

4

您可能只需要將.first()附加到您的代碼。它應該是這個樣子:

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

ParentFinddemo

$(document).ready(function() { 
    $('.clearButton').click(function() { 
     $(this).parent().find('input').val(''); 
    }) 
}); 
1
$('.clearButton').click(function() { 
    $(this).sibling('input').val(''); 
}); 
相關問題