javascript - jQuery:IF 语句中的 addClass 不切换

标签 javascript jquery html

当用户选择单选按钮“删除”时,我想将类“禁用”添加到带有标题的“a”标签中,此时在下面的 fiddle 中它添加禁用到“a”标签作为一旦加载。

我将代码添加到脚本中,该脚本在选择删除时隐藏 div,但这只是一个“if”语句,我不明白它如何在不使用“else”的情况下切换显示/隐藏。

如有任何帮助,我们将不胜感激。

$('.newsBtns input[type="radio"]').click(function(e) {
  var tab_id = $(this).attr('data-tab');
  $('ul.tabsCon08 li').removeClass('current');
  $('.eaCon08').removeClass('current');
  $(this).addClass('current');
  $("#" + tab_id).addClass('current');
});
if ($("input[name=news]:checked").val("close")) {
  $("#newsMainCont").hide();
  $("#newsMainCont").show();
  $(".mainCon").find(".news-link").addClass('disable');
}


$('.eventBtns input[type="radio"]').click(function(e) {
  var tab_id = $(this).attr('data-tab');
  $('ul.tabsCon09 li').removeClass('current');
  $('.eaCon09').removeClass('current');
  $(this).addClass('current');
  $("#" + tab_id).addClass('current');
});
if ($("input[name=event]:checked").val("close")) {
  $("#eventMainCont").hide();
  $("#eventMainCont").show();
  $(".mainCon").find('.event-link').addClass('disable');
}

FIDDLE HERE

最佳答案

首先 - 正如 Pointy 所说 - 你的 if 语句在点击之外并且只运行一次。其次你的声明

if ($("input[name=event]:checked").val("close")) 

最好是

if ($("input[name=event]:checked").val() === "close")

所以你可以做else语句

https://jsfiddle.net/a5yev9r1/9/

如果你这样写语句

if ($("input[name=event]:checked").val("close")) 

它永远是真的,因为通过写作

$("input[name=event]:checked").val("close")

您正在为每个选中的单选按钮分配值“close”

关于javascript - jQuery:IF 语句中的 addClass 不切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55680876/

相关文章:

javascript - 在具有 2 个按钮的表单中 - 如何选择 "Return"键激活哪个按钮?

javascript - jQuery:检查所有 <DIV> 或 <Span> 是否包含特定文本

javascript - 使用 Javascript 和 CSS 制作动画

javascript - 如何独立于 "tbody"滚动表的 "thead"?

javascript - react 设置 'npm run build' 错误 "unexpected token ' b' 在 18 :4"

javascript - 无法使用数据绑定(bind)设置过滤器值?

javascript - 选中时使用 FontAwesome 单选按钮下载文件

jquery - 仅在鼠标悬停时显示图标

javascript - 模拟html5的触摸事件

php - 在 POST 中提交变量