當單擊類「removerow」的錨點時,我有一個需要隱藏的錶行。jquery中的父類選擇器
<tr><td>Product Name</td><td><a class="removerow">Remove</a></td></tr>
我一直想這一點,但它不工作:
$("a.removerow").click(function(){
$(tr > this).hide();
});
我怎樣才能選擇整個表格行與「.removerow」的孩子。
我在做什麼錯?
謝謝。
當單擊類「removerow」的錨點時,我有一個需要隱藏的錶行。jquery中的父類選擇器
<tr><td>Product Name</td><td><a class="removerow">Remove</a></td></tr>
我一直想這一點,但它不工作:
$("a.removerow").click(function(){
$(tr > this).hide();
});
我怎樣才能選擇整個表格行與「.removerow」的孩子。
我在做什麼錯?
謝謝。
jQuery的closest(selector)
函數將向上遍歷並返回提供的最近的選擇器。
(如果點擊的元素是相同的給定的選擇,那麼它返回。)
http://api.jquery.com/closest/
$("a.removerow").click(function(e){
$(this).closest('tr').hide();
e.preventDefault();
});
的e.preventDefault()
將禁用a
元素的默認行爲。
jQuery沒有父選擇器,但它的確有parent function。
另外,tr不是鏈接的直接父節點。相反,它是向上兩級(td
是第一父)
$("a.removerow").click(function(){
// Called twice (first is td, second is tr)
$(this).parent().parent().hide();
});
如果沒有其他tr
S IN的層次,你也可以使用
$("a.removerow").click(function(){
// Called twice (first is td, second is tr)
$(this).parents('tr').hide();
});
如果TR上有一類,你可以這樣做:
$("a.removerow").click(function(){
// Called twice (first is td, second is tr)
$(this).parents('.ClassNameHere').hide();
});