Jquery添加类不工作?

Jquery添加类不工作?,jquery,Jquery,以下是我的jQuery: $('.portfoliopod').on('click', function(){ $('.portfoliopod').addClass('current'); }); 和我的HTML: <div class="portfoliopod"> <img class="portfolioimage" src="aboutme.jpg"> <div class="portfoliopodmessage">testing 123

以下是我的jQuery:

$('.portfoliopod').on('click', function(){
    $('.portfoliopod').addClass('current');
});
和我的HTML:

<div class="portfoliopod">
<img class="portfolioimage" src="aboutme.jpg">
<div class="portfoliopodmessage">testing 123</div>
</div>

测试123

当我单击“portfolio pod”部分时,不会添加类“current”。我是否遗漏了一些明显的内容?

使用此代码进行检查

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="portfoliopod">
<img class="portfolioimage" src="aboutme.jpg">
<div class="portfoliopodmessage">testing 123</div>
</div>
<script>
$('.portfoliopod').on('click', function(){
    $('.portfoliopod').addClass('current');
});</script>

测试123
$('.portfoliopod')。在('click',function()上{
$('.portfoliopod').addClass('current');
});
如果这段代码正常工作,那么错误在于jquery脚本的包含。

正如OP所说的“点击一个按钮,portoflio是通过PHP加载的”,我假设公文包内容是通过AJAX加载的。因此,您必须使用它来侦听元素上的事件:

jQuery(document).on('click', '.portfoliopod', function(){
    jQuery('.portfoliopod').addClass('current');
});
由于
.portfoliopod
元素是一个动态创建的元素,因此当前使用的代码不会将事件绑定到稍后将在DOM树中出现的元素

因此,绑定侦听器的方法是将其绑定到
document
上,并检查单击的
document
上的元素是否为
.portfoliopod
。看

另外,在您的站点上,
$
似乎未定义(非常奇怪)。因此,请改用
jQuery

或者,如果您想要
$
对象,请将此代码添加到jQuery文件的末尾,然后再添加到
}(窗口)

window.jQuery = window.$ = jQuery;

jQuery是在文档就绪处理程序中还是在文档末尾?如果是的话,对我来说很好。我想你可能已经回答了我的问题。在加载DOM之后,jQUery通过PHP拉入该部分。这就是发生这种情况的原因吗?我的javascript开始时是这样的:jQuery.noConflict();(function($){和这里的所有代码。我猜这意味着它不会等到加载时才开始?@BenLiger听起来像是事件委托:你能详细说明一下George吗?我试着在PHP页面的开头添加你的脚本并将其加载进去,但仍然没有得到任何结果请通过“inspect element”进行验证点击时,类名被添加,结果可能是想要
$(文档)。点击时,
不是
$('.portfoliopod')。点击时,
如果
portfoliopod
是动态加载的一部分。仍然无法让它工作。这里有一个网站,如果它有帮助的话:非常有意义,这在@Subin