Javascript jQuery只切换一个元素而不是所有元素
我的代码使用jQuery slidetoggle显示和隐藏特定列表。我想单击加号/减号按钮来执行该事件。但是每次我尝试使用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
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");
});
});