我遇到了if/else块的问题.问题是else块总是在执行.当发生单击时,如果两个select元素都具有"current-drop"类,则只应执行if块.
但是,由于在if块的末尾删除了这两个类(稍后使用该change()方法再次添加类),我认为这导致了else块的执行.是因为当删除类时,click事件没有完成触发,导致条件发生变化?
我该如何解决这个问题?
$('.add-button').click(function() {
var class1=$("#select-pub").attr('class');
var class2=$("#select-segment").attr('class');
if ((class1=='current-drop') && (class2=='current-drop')) {
$('<li />', {text: $('#select-pub option:selected').text()})
.appendTo('div #publisher-results ul');
$('<li />', {text: $('#select-segment option:selected').text()})
.appendTo('div #segment-results ul');
$('#select-pub').removeClass('current-drop');
$('#select-segment').removeClass('current-drop');
$('#error-message').css('visibility','hidden');
}
else
{
$('#error-message').css('visibility','visible');
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:这是页面 - 是的,我知道它现在有点混乱......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Group Commerce | Dashboard</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link type="text/css" rel="stylesheet" href="fancybox/jquery.fancybox-1.3.1.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="js/add-items-over.js"></script>
<script type="text/javascript" src="fancybox/jquery.fancybox-1.3.1.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() { …Run Code Online (Sandbox Code Playgroud) jquery ×1