我停止了一个非常简单的功能,这个功能多次与我合作但现在不能正常工作。控制台中没有特定的错误。
我正在尝试检查是否存在包含<form>
类的div的特定类。我正在尝试查找是否还有其他类.form-content.inactive
。
opened
点击时没有提醒。我现在傻了一段时间:p
答案 0 :(得分:3)
如果您的div
从一开始就没有班级opened
,那么您应该这样做。
$(document).ready(function() {
$(".form-content a").click(function(event) {
if($('.form-content.inactive').hasClass('opened')){
alert('has');
}
});
});
否则您的代码可以正常运行..当您的div
在文档准备就绪之前已经有类opened
时,只有jQuery能够将您的click元素订阅到该事件。
$(document).ready(function() {
if ($('.form-content.inactive').hasClass('opened')) {
$(".form-content a").click(function(event) {
alert('has');
});
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-content inactive opened">
<a>Click!</a>
</div>
&#13;
答案 1 :(得分:1)
您可以使用委托代替opened
而不是检查{ - 1}}。
$(document).ready(function() {
$('body').on('click', '.form-content.inactive.opened a', function(event) {
alert('has');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-content inactive opened">
<a>Link</a>
</div>
如果a
同时包含.form-content
和.inactive
类,则会触发.opened
的点击事件。
如果您坚持使用hasClass
并且您有多个.form-content
,则应使用this
获取最接近的.form-content
并检查这两个类。
$(".form-content a").click(function(event) {
var formContent = $(this).closest('.form-content');
if(formContent.hasClass('inactive') && formContent.hasClass('opened')){
alert('has');
}
});