我想添加和删除在没有结果的点击事件的类。 我正在使用jquery 1.4编写Drupal 7,书签链接由flag模块生成。的jQuery .live和.delegate()addClass与removeClass动态问题
我会解释我需要做什么。 我有一块ØHTML代码:
<div class="container"><a class="bookmark">Bookmark</a></div>
<div class="container"><a class="flag bookmark">Bookmark</a></div>
现在,当您点击“书签”,自动(由模块标志)的链接的类改变(它通过AJAX改变和链接将重建)
<div class="container"><a class="flag bookmark">Bookmark</a></div>
<div class="container"><a class="flag bookmarked">Bookmarked</a></div>
我想要做的就是给一个类的容器,所以我写了
$('.bookmarked').click(function(){
$(this).parent().removeClass('this-bookmarked');}
});
$('.bookmark').click(function(){
$(this).parent().addClass('this-bookmarked');}
});
这工作第一,它并不像一个“切换”工作。
我试着使用.live(),但没有结果,它不会在所有的工作。
$("a.flag").live({
click: function() {
if ($(this).parent().hasClass("this-bookmarked")) {
$(this).parent().removeClass('this-bookmarked');
} else {
$(this).parent().addClass('this-bookmarked');
}
return false;}
});
我想这也
$("a.flag").live('click', function() {
if ($(this).parent().hasClass("this-bookmarked")) {
$(this).parent().removeClass('this-bookmarked');
} else {
$(this).parent().addClass('this-bookmarked');
}
return false;}
});
,以确保我用.delegate()太
jQuery(function() {
jQuery(document).delegate("a.flag", "click", function() {
if (jQuery(this).hasClass("this-bookmarked")) {
jQuery(this).parent().removeClass('this-bookmarked');
} else {
jQuery(this).parent().addClass('this-bookmarked');
}
return false;}
);
});
两个.live()和.delegate()不要”即使我想提醒一些文本,也不会给我任何结果和任何错误。难道我做错了什么?
我应该使用其他的jQuery API吗?
非常感谢
你可以使用.toggleClass() – 2012-03-02 15:03:42
toggleClass()工程的第一个动作,如果我再次点击它不工作,因为你点击链接之后将通过AJAX – 2012-03-02 15:19:02