Jquery hasClass + If Statement

我希望以下loadContent函数仅在单击的链接具有某个类时才加载目标div。 这是我到目前为止所提出的:

function loadContent(targetDIV, sourceURL) { if ( $(this).hasClass("done") ) { $(""+targetDIV+"").load(""+sourceURL+""); } } News 

该函数在没有if语句的情况下工作,但我似乎无法让hasClass与if – any思想一起工作? 谢谢!

将其更改为以下内容,它应该工作:

 News 

通过使用.call() ,您可以将loadContent函数中的loadContent值设置为当前元素。

因为我们使用onclick ,内联处理程序中的this将为您提供传递的引用。

它不起作用的原因是因为函数中对“this”的引用实际上并不是指链接。 将链接本身传递给函数以获得更好的结果:

 function loadContent(linkObj, targetDIV, sourceURL) { if ( $(linkObj).hasClass("done") ) { $(""+targetDIV+"").load(""+sourceURL+""); } } News 

您可以使用jquery click()方法来绑定您的点击,而不是使用href =“javascript:…”

我不确定“this”是否设置正确,但是我认为使用jquery click会确保“this”是你所期待的。 我也认为它更清楚。