Jquery添加类无法正常工作?

时间:2014-10-06 13:53:36

标签: jquery

这是我的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>

当我点击&#34;投资组合框&#34;课程&#34;当前&#34;没有添加。我错过了一些明显的东西吗?

2 个答案:

答案 0 :(得分:1)

正如OP所说“点击一个按钮,portoflio是通过PHP加载的”,我假设投资组合内容是通过 AJAX 加载的。所以,你必须使用它来监听元素上的事件:

jQuery(document).on('click', '.portfoliopod', function(){
    jQuery('.portfoliopod').addClass('current');
});

由于.portfoliopod元素是动态创建的元素,因此您当前使用的代码不会将事件绑定到稍后将在DOM树中出现的元素。

因此,绑定侦听器的方法是将其绑定到document并检查点击document的元素是否为.portfoliopod。请参阅this

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

或者,如果您需要$对象,请在})(window);之前在jQuery文件的最末端添加此代码:

window.jQuery = window.$ = jQuery;

答案 1 :(得分:0)

使用此代码检查

<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>

如果此代码有效,那么错误就是包含了jquery脚本。