Jquery 手风琴样式列表添加和删除类问题

Jquery 手风琴样式列表添加和删除类问题,jquery,jquery-ui,Jquery,Jquery Ui,我有一个带有标题的基本列表。在一个完美的世界中,当用户单击标题或嵌套图标时,会显示一个描述性段落,图标也会更改。如果用户一个标题接一个标题,在继续之前打开和关闭,那么就没有问题了,但是打开并移动以打开下一个,事情就会变得奇怪和糟糕。段落将切换,但图标保持不变 完美世界场景,点击标题或img,图标变为负号,段落显示,段落保持打开,点击下一个标题,段落和图标改变,依此类推。一遍又一遍地对这个问题进行哈希运算,我不知所措 $(“.hold text”)。单击(函数(){ if(!$(“img”).h

我有一个带有标题的基本列表。在一个完美的世界中,当用户单击标题或嵌套图标时,会显示一个描述性段落,图标也会更改。如果用户一个标题接一个标题,在继续之前打开和关闭,那么就没有问题了,但是打开并移动以打开下一个,事情就会变得奇怪和糟糕。段落将切换,但图标保持不变

完美世界场景,点击标题或img,图标变为负号,段落显示,段落保持打开,点击下一个标题,段落和图标改变,依此类推。一遍又一遍地对这个问题进行哈希运算,我不知所措

$(“.hold text”)。单击(函数(){
if(!$(“img”).hasClass(“foo”)){
$(this.find(“.title”).children(“img”).attr(“src”、“减号icon.png”).addClass(“foo”);
$(this.children(“p”).toggle();
}否则{
$(this.find(“.title”).children(“img”).attr(“src”、“plus icon.png”).removeClass(“foo”);
$(this.children(“p”).toggle();
}
});
.hold text>p{
显示:无
}

  • 罗伦布拉 正文

  • 罗伦布拉 正文

  • 罗伦布拉 正文

  • $(“img”).hasClass
    将使用该类检查任何图像。。您可以使用
    $(this).find(“img”).hasClass
    ,可以使用
    .toggleClass()
    ,而不是使用if语句。。请参见下一个示例
$(“.hold text”)。单击(函数(){
var Getimage=$(this.find(“img”);//获取图像
Getimage.attr(“src”,Getimage.attr(“src”)==“减号图标.png”?“加号图标.png”):“减号图标.png”)。toggleClass(“foo”);//在图像src和切换类之间切换
$(this.find(“p”).toggle();//切换p
console.log(Getimage.attr('src'));//只是检查src是否已更改
});
.hold text>p{
显示:无
}

  • 罗伦布拉 正文

  • 罗伦布拉 正文

  • 罗伦布拉 正文


第一眼
$(这个).find(“img”).hasglass
就可以了,穆罕默德,非常感谢@Jay.我们完全欢迎你。。但是请等待我的回答,我会把代码简化一点非常棒的解释,喜欢简化的代码Mohamed谢谢,谢谢Rory McCrossan把我的问题格式化好我们很高兴能帮上忙。。祝你今天愉快:-)@Jay.Smyth