Javascript jQuery只切换一个元素而不是所有元素

Javascript jQuery只切换一个元素而不是所有元素,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我的代码使用jQuery slidetoggle显示和隐藏特定列表。我想单击加号/减号按钮来执行该事件。但是每次我尝试使用a.minuslink或a>img或.minusimg时,除了ul,我无法让任何选择器工作。有人能帮忙吗?谢谢 我的HTML: $(“#xmlDiv”)。在(“单击”,“ul”,函数(e)上{ var clickedUl=$(此值); //警惕(这个); 单击edul.children().find(.mainlist”).slideToggle('slow',functi

我的代码使用jQuery slidetoggle显示和隐藏特定列表。我想单击加号/减号按钮来执行该事件。但是每次我尝试使用
a.minuslink
a>img
.minusimg
时,除了ul,我无法让任何选择器工作。有人能帮忙吗?谢谢

我的HTML:

$(“#xmlDiv”)。在(“单击”,“ul”,函数(e)上{
var clickedUl=$(此值);
//警惕(这个);
单击edul.children().find(.mainlist”).slideToggle('slow',function()){
var img=clickedUl.find('span.减去img');
if(img.attr('src')=='images/plus.png')
img.attr('src',“images/minus.png”);
其他的
img.attr('src',“images/plus.png”);
});
});

  • 防病毒合规性-
    • -未安装AV
    • -AV未运行
    • -AV未更新
    • -符合

如果我正确理解了您的问题,那么问题很可能是从链接到
.mainlist
的遍历。 这样做的一种方法是:
$this.parent().sides('.mainlist')


编辑:更改单击以附加到“.减号”div,基本相同,但不需要父对象()

在第5行上用一个工作的内联代码段替换所有代码,您使用的是
clickedUl.find('span.减号img')
,但HTML元素是
div
,而不是
span
。试着点击edul.find('.减去img')
。这是第一个问题,我不明白问题是什么。您的代码片段示例将切换列表。此外,不确定它是否是您想要的,但在ul上使用
滑动切换()
将确保每次单击ul时它都会切换,包括它的孩子。查看使用代码片段时它有多好?总是这样做
$("#xmlDiv div.minus").click( function(e) {
    var $this = $(this);
    $this.siblings('.mainlist').slideToggle('slow', function() {
        var img = $this.find('img');
        if (img.attr('src') === 'images/plus.png')
            img.attr('src', "images/minus.png");
        else
            img.attr('src', "images/plus.png");
    });
});