JQuery:切换问答;带有加号和减号图标的类
JQuery: toggle Q&A class with plus and minus icons
我正在尝试切换加号和减号跨度,同时切换答案div,但没有成功。我构建了html,因此问题div有两个子级:
- 带有加号和减号两个子项的div图标
- div表示答案
这是代码:
$( document ).ready(function() {
$(".question").click(function(){
$(this).children(".icons div").toggle();
$(this).next('.answer').slideToggle();
});
});
.question div{
display: table-cell;
font-size: 17px;
font-weight: bold;
color:blue;
cursor: pointer;
}
.question .icons .MinusIcon{
display: none;
}
.answer{
display:none;
padding-left: 5%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!---------------1--------------->
<div class="question">
<div class="icons">
<div class="plusIcon">[<span>+</span>]</div>
<div class="MinusIcon">[<span>-</span>]</div>
</div>
<div>
Question<br>Question
</div>
</div>
<div class="answerswer">
ANSWER<br> ANSWER<br> ANSWER<br> ANSWER
</div>
<!---------------2--------------->
<div class="question">
<div class="icons">
<div class="plusIcon">[<span>+</span>]</div>
<div class="MinusIcon">[<span>-</span>]</div>
</div>
<div>
Question<br>Question
</div>
</div>
<div class="answerswer">
ANSWER<br> ANSWER<br> ANSWER<br> ANSWER
</div>
试试这个:
$( document ).ready(function() {
$(".question").click(function(){
$(this).find(".plusIcon").toggle();
$(this).find(".MinusIcon").toggle();
$(this).next('.answer').slideToggle();
});
});
更改您的功能
$(this).find(".icons div.plusIcon").toggle();
$(this).find(".icons div.MinusIcon").toggle();
$( document ).ready(function() {
$(".question").click(function(){
$(this).find(".icons div.plusIcon").toggle();
$(this).find(".icons div.MinusIcon").toggle();
$(this).next('.answer').slideToggle();
});
});
.question div{
display: table-cell;
font-size: 17px;
font-weight: bold;
color:blue;
cursor: pointer;
}
.question .icons .MinusIcon{
display: none;
}
.answer{
display:none;
padding-left: 5%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!---------------1--------------->
<div class="question">
<div class="icons">
<div class="plusIcon">[<span>+</span>]</div>
<div class="MinusIcon">[<span>-</span>]</div>
</div>
<div>
Question<br>Question
</div>
</div>
<div class="answerswer">
ANSWER<br> ANSWER<br> ANSWER<br> ANSWER
</div>
<!---------------2--------------->
<div class="question">
<div class="icons">
<div class="plusIcon">[<span>+</span>]</div>
<div class="MinusIcon">[<span>-</span>]</div>
</div>
<div>
Question<br>Question
</div>
</div>
<div class="answerswer">
ANSWER<br> ANSWER<br> ANSWER<br> ANSWER
</div>
只需对OP的代码进行少量修改,它的外观如下:
$(".question").on('click', function() {
var $answer = $(this).next('.answer');
var visible = $answer.is(':visible');
$(this).children('.icons').text(visible ? '[+]' : '[-]');
$answer.slideToggle();
});
.question div {
display: table-cell;
font-size: 17px;
font-weight: bold;
color: blue;
cursor: pointer;
}
.answer {
display: none;
padding-left: 5%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="question">
<div class="icons">[+]</div>
<div>
Question
</div>
</div>
<div class="answerswer">
ANSWER
<br>ANSWER
<br>ANSWER
<br>ANSWER
</div>
<div class="question">
<div class="icons">[+]</div>
<div>
Question
</div>
</div>
<div class="answerswer">
ANSWER
<br>ANSWER
<br>ANSWER
<br>ANSWER
</div>
您可以通过在代码中执行以下操作来实现+/-图标和答案div的切换:
-
将单个div与plusIcon 一起使用
<div class="icons"> <div class="plusIcon"></div> </div>
-
点击时切换minusIcon类使用:
$(this).find(".icons div").toggleClass("minusIcon");
+和-图标由CSS中的伪元素提供:
.plusIcon:before {
content: "[+]";
width: 22px;
height: 22px;
}
.minusIcon:before {
content: "[-]";
width: 22px;
height: 22px;
}
你可以在这里找到完整的解决方案http://jsfiddle.net/d1cot84e/1/
相关文章:
- Javascript更改图标
- 单击更改图标并通过javascript添加一个css类
- 我希望只有在我滚动页面后才能显示我的返回页首图标
- 如何更改角度谷歌地图上的集群图标
- simpleweather js天气图标
- 更改图层中单个矢量特征的图标
- 使用Angular单击时更改特定图示符图标的颜色
- 加载图像时加载图标
- 可以'点击汉堡包图标后,菜单无法正常打开
- 持久页面操作图标
- 点击图标是't在量角器上工作
- 通过单击同一图标使菜单出现和消失
- 在for循环中使用多维数组设置google.maps.Marker图标
- 替换与单词'匹配的文本字符;购物车'替换为img图标
- 谷歌地图API-显示具有不同图标的标记
- 谷歌地图-更改图层图标大小
- 在标记mapbox.js上添加自定义图标
- 如何制作Yii框架的linkHtmlOptions's的CGridView显示为图像图标,单击时会触发javas
- 将for循环生成的图标附加到列表项锚点中
- 单击时切换上下图示符图标的问题