我有以下功能:
$("a#mylink").click(function(e){
e.preventDefault();
$.ajax({ url: $(this).attr("href") });
$(this).parent().parent().fadeOut("slow");
});
正在页面上创建一个链接,其中包含以下代码:
'<div style="margin-top: 4px; border: solid 2px #515151; color: #515151; width: 300px;"><span style="padding-left: 4px">' +
file.name+
' </span><div style="float: right; padding-right: 4px;"><a class="mylink" href="remove.aspx?img='+safeUrl+'">Remove</a></div>' +
'</div>'
当我点击链接时,会弹出一个新页面并且它没有点击我的功能。有什么想法吗?
答案 0 :(得分:2)
a.mylink
不是a#mylink
#是ID选择器,您将mylink设置为类。
答案 1 :(得分:1)
您将“mylink”放在“class”中,但您的选择器正在寻找“id”值。尝试:
$('a.mylink').click( ... )
或者使用“mylink”作为锚标记的“id”值。
答案 2 :(得分:1)
这个链接是动态添加的吗?听起来你需要使用live()
// incidentally, drop the "a" from "a.mylink" it's unnecessary and slows it down
$(".mylink").live('click', function () { ... });
其他人看到(我没有)#xyz
匹配id
,而.xyz
匹配class
。您的链接上有class
,因此您需要使用点。
答案 3 :(得分:0)
事实证明,由于我在运行期间添加了链接,因此我需要重新点击我的点击事件。