- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
谁能告诉我为什么这个愚蠢的代码在我的网站上不起作用?我是疯了,还是有冲突?
<div class="row faqbody question">
<div class="col-lg-12">
<div class="row">
<div class="col-lg-12">
<button class="question">
<h5>
Do I get to pick which chef makes my pie?
<i class="fa fa-caret-up"></i>
</h5>
</button>
</div>
</div>
<div class="row answer">
<div class="col-lg-12">
<p>Nope....</p>
</div>
</div>
</div>
</div>
$('.question').click( function() {
console.log('Question Clicked');
if ($(this).find('.fa').hasClass('fa-caret-up')) {
console.log('Has Fa-caret-up');
$(this).find('.fa').removeClass('fa-caret-up');
$(this).find('.fa').addClass('fa-caret-down');
}
if ($(this).find('.fa').hasClass('fa-caret-down')) {
console.log('Has Fa-caret-down');
$(this).find('.fa').removeClass('fa-caret-down');
$(this).find('.fa').addClass('fa-caret-up');
}
$(this).parent('div').parent('div').next('.answer').toggleClass('hidden');
});
答案显示没有问题,并且插入符号以如此时髦的方式编码的原因是因为以下内容不起作用:
$( this ).find('.fa').toggleClass('fa-caret-up fa-caret-down');
我以前从未见过这个。通常像这样简单的事情不是问题。
提前谢谢您,我希望这是一个简单的问题!
最佳答案
您正在将点击监听器绑定(bind)到 .question
。您在具有该类的 div 内有一个具有该类的按钮。您的事件分派(dispatch)两次(每个对象一次),因此切换被否定。您可以在控制台中看到它 - 所有日志条目都会加倍。
请参阅下面的代码片段,修复基本上只是让您的选择器更加明确:
更改:
$('.question').click(...);
致:
$('button.question').click(...)
PS...这个代码片段在没有 FontAwesome 的情况下运行,所以我只是添加了 X
在你的<i>
标签和一些样式,这样您就可以看到它的变化并且类被正确分配。
$('button.question').click( function() {
console.log('Question Clicked');
$(this).find('.fa').toggleClass('fa-caret-up').toggleClass('fa-caret-down');
$(this).parent('div').parent('div').next('.answer').toggleClass('hidden');
});
i.fa.fa-caret-up {
color: red;
}
i.fa.fa-caret-down {
color: blue;
}
.hidden {
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="row faqbody question">
<div class="col-lg-12">
<div class="row">
<div class="col-lg-12">
<button class="question"><h5>Do I get to pick which chef makes my pie? <i class="fa fa-caret-up">X</i></h5></button>
</div>
</div>
<div class="row answer hidden">
<div class="col-lg-12">
<p>Nope....</p>
</div>
</div>
</div>
</div>
关于jquery - 两个 jQuery 切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39582118/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!