2011-04-22 56 views
1

我想要使用jQuery禁用所有在表之外的另一个链接点击动态创建的表的所有<a>标记。由于表格是动态创建的,因此我的点击事件无法在表格中找到<a>标签。什么可能是解决方案?我试过$("#tableId a").removeAttr("href")但这不起作用。使用jQuery删除锚点标记的链接

回答

0
$("#tableId a").live('click',function(e){ 
e.preventDefault(); 
return false; 
}); 
+0

没有理由你'的preventDefault()''_and_返回false;' - 但这无论如何都不会工作,因为OP说该表是动态创建的。 – 2011-04-22 15:40:56

1

由于是动态创建的表,使用.live()

$('#outerLink').one('click', function() 
{ 
    $("#myTable a").live('click', function() 
    { 
     return false; 
    }); 
}); 
0

由于正在创建表动态,你必须绑定live这样的活动:

$("#tableID a").live("click", function(e){ 
    e.preventDefault(); 
    return; 
}); 
0

你也可以只将disabled属性添加到链接。

$("#tableID").find("a").attr("disabled","disabled"); 
0

在jquery 1.7及更高版本中,Live()方法已被弃用。请尝试以下操作:

$("#tableId").on({ 
click: function(event){ $(this).removeAttr("href"); } 
},"a"); 

只要在页面加载时存在#tableId。否则,你就需要去一个级别的东西,确实存在:

$(document).on({ 
click: function(event){ $(this).removeAttr("href"); } 
},"a");