2012-01-06 86 views
3

如何添加活动事件绑定到:选择器之后?这是我尝试没有成功:jquery live on:选择器后

CSS规则

div.k-tabstrip .k-link:after 
{ 
    content: url("/icons/close.gif"); 
    width: 16px; 
    height: 16px; 
    display: inline-block; 
    margin: 0px; 
    margin-left: 10px; 
} 

JS

$(document).on("click",".k-link:after", function(){ alert("Goodbye!"); }); 

回答

4

你不能。由:aftercontent属性添加的内容不会成为DOM的一部分,因此无法通过JavaScript访问。

请注意,内容不会被添加到DOM 的所有,因此它不会成为它应用到的元素的一部分,并且它本身不会成为节点。它只是坐在那里,不知道周围的世界。

2

James's answer是100%正确的。

因为在这种情况下,你:after的内容是没有的JavaScript没用的,你可以使用JavaScript来摆在首位添加的元素:

$('.k-link').append('<img src="/icons/close.gif" class="after">'); 
$(document).on("click",".k-link .after", function(){ alert("Goodbye!"); }); 

当然,比after使用更合理的,有意义的类名。

如果元素确实具有javascript之外的功能(如果链接/按钮应该与禁用js一起工作),并且不仅仅是修饰,它应该真正在您的HTML中开始。同样,任何内容内容而不是演示文稿应该是您的标记的一部分,而不是用CSS生成的。