关于Jquery动态添加onclick属性


Regarding Jquery addition of onclick attribute dynamically

单击下面的链接时,我想要更改onclick="linkSubCategory(1,'''people''','''1''','''peoplineLink''');"之类的onclick函数,即将第三个属性从0更改为1。

<a href="#" id="peopleLink" onclick="linkSubCategory(1, ''people'', ''0'', ''peopleLink'');" style="display: inline-block;"><img src="images/icons/group.png"></a>

对于我的上述要求,我正在使用下面的代码,但它不起作用。请给我一个达到要求的方法。

function linkSubCategory(divID, divName, chkVal, linkID) {
$("#"+linkID).removeAttr("onclick");
        $("#"+linkID).attr("onclick", "linkSubCategory("+divID+", '"+divName+"', '1', '"+ linkID +"')");}

我看待事物的方式:

<a href="#" id="peopleLink" data-divid="1" data-divname="people" data-chkval="0" class="linkSubCategory" ></a>

jQuery

$('.linkSubCategory').click(function(){
   linkSubCategory($(this).data('divid'), $(this).data('divname'), $(this).data('chkval'), this.id);
   $(this).data('chkval',1);
});

这样就不需要更改事件处理程序。因为imo,更改处理程序意味着你想从根本上改变它的工作方式,但在这里你只需要更改一个参数。