jQuery存储onclick属性并重新添加它

时间:2014-01-20 13:02:34

标签: javascript jquery html

我在页面上有很多日历。它们由HTML表组成,每天都是td。每个td都有一个onClick属性,我无法在HTML中删除或修改。我将使用以下jQuery从星期五和星期六之外的日子中删除所有onClick属性:

var kalvoid = jQuery(".kc_mainTable tr td:nth-child(1),.kc_mainTable tr td:nth-child(2),.kc_mainTable tr td:nth-child(3),.kc_mainTable tr td:nth-child(4),.kc_mainTable tr td:nth-child(7)");
jQuery(kalvoid).removeAttr("onClick");

我遇到的问题是我也想从周五删除onClick属性,然后在用户点击星期六时重新添加它。我一直在玩下面的代码:

var kalfri = jQuery(".kc_mainTable tr td:nth-child(5)");
var kalsat = jQuery(".kc_mainTable tr td:nth-child(6)");
jQuery(kalfri).removeAttr("onClick");

jQuery(kalsat).click(function() {
  (function(kalfri){
    var kalfriID = jQuery(this).attr("id");
    jquery(this).attr("onClick", kalfriID);
  });
});

这显然不起作用(即使我可以看到代码是错误的),问题是我不知道正确的jQuery来做到这一点。我已经玩了一段时间没有运气了。有任何想法吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

您可以将其存储在data()

jQuery(function($) {

    var kalfri = $(".kc_mainTable tr td:nth-child(5)");
    var kalsat = $(".kc_mainTable tr td:nth-child(6)");

    kalfri.data('onclick', kalfri.attr('onclick')).removeAttr("onClick");

    kalsat.click(function() {
        var kalfriID = kalfri.data('onclick');
        kalfri.attr("onclick", kalfriID);
    });

});

您无需在任何地方使用jQuery