Javascript 我的标志不是';t改变
我是JS新手,只是想了解它是如何工作的 为什么我的符号(+,-)没有改变? 当div展开时,它会保持+叹息,而不会转到- 谢谢Javascript 我的标志不是';t改变,javascript,jquery,Javascript,Jquery,我是JS新手,只是想了解它是如何工作的 为什么我的符号(+,-)没有改变? 当div展开时,它会保持+叹息,而不会转到- 谢谢 $(document).ready(function(){ $(".expanderHead").click(function(){ $(this).next(".expanderContent").slideToggle(); if ($(".expanderSign").text() == "+"){
$(document).ready(function(){
$(".expanderHead").click(function(){
$(this).next(".expanderContent").slideToggle();
if ($(".expanderSign").text() == "+"){
$(".expanderSign").html("−")
}
else {
$(".expanderSign").text("+")
}
});
});
只是猜测一下这种关系,因为您还没有显示HTML,但您可能需要以下内容:
$(document).ready(function () {
$(".expanderHead:visible").click(function () {
var content = $(this).next(".expanderContent");
var sign = $(this).find(".expanderSign");
if (content.is(":visible")) {
content.slideUp();
sign.text("+");
} else {
var expanded = $(".expanderContent:visible");
if (expanded.length > 0) {
expanded.slideUp();
expanded.prev(".expanderHead").find(".expanderSign").text("+");
}
content.slideDown();
sign.text("-");
}
});
});
仅从快速查看开始,将
.text()
更改为.html()
。您可以用小提琴演示它吗?您可能至少应该选择.text()
或.html()
并一致地使用其中一个。类expanderSign
是否有多个元素?您的代码检查并更新了所有这些文件,而不仅仅是连接到您单击的扩展器头的文件。或者您可以使用jquery accordion自动处理这些文件。如果您将.prev
更改为,则感谢>可以在您的小提琴中正常工作。找到并选择jquery框架。谢谢你,这很有效。。如果不太麻烦的话,你能告诉我如果我点击另一个div,如何自动折叠一个div吗?你可以通过调用$(“.expanderContent:visible”).slideToggle()来摆脱很多代码代码>首先在单击事件中,然后执行rest@jesus.tesh但在滑动DIV时,它还必须在DIV上切换+/-。你必须做一些不同的事情,这取决于你点击的那个是否是可见的。我经过了几次迭代,这一切都是正确的,看起来很清楚。