jQuery在子元素上切换类

我有链接列表,如果你点击它们中的任何一个,它将在单独的div中切换显示/隐藏它下面的文本。 如果显示其中一个,它也会隐藏所有其他div这个代码管理它:

$(document).ready(function(){ $('.targetDiv').hide(); $('.hideshow').click(function () { $('#div' + $(this).attr('target')).toggle('').siblings('.targetDiv').hide(''); });}); 

这就是链接的样子

 
Something something

我需要做的是改变

 fa-plus-square 

 fa-minus-square 

打开和关闭时,关闭时。 我发现“toggleClass”在这种情况下应该是有用的,但我不知道如何选择我在div里面的一个

你能帮我解决这个问题吗?

该网站也在这里

找到并调用toggleClass

 $(this).find("i").toggleClass("fa-plus-square fa-minus-square") 

在jQuery中使用父子选择器非常简单……

 $("a > div > i") 

将选择i元素,即div元素的子元素,它是元素的子元素。 http://www.w3schools.com/jquery/sel_parent_child.asp

如果元素不是直接后代,如示例中所示,请删除大于号。

 $("a div i") 

要选择标记内的 ,您只需执行以下操作:

 $( this ).find( 'i' ) 

你可以将它们连在一起切换class级 –

 $( this ).find( 'i' ).toggleClass( 'fa-plus-square fa-minus-square' ) 

而对于兄弟姐妹,如果你想让他们都拥有“fa-minus-square”这个类,你可以这样做:

 $( this ).siblings().find( 'i' ).removeClass( 'fa-plus-square' ).addClass( 'fa-minus-square' ) 

好吧……这是我第一次将jQuery代码添加到现有代码中,所以我尝试做某事,它没有工作,所以我认为我做错了,但只是错误是选择“li”而不是“i”元素解决方案是在最后一行之前添加此行:

 $(this).children('div').children('i').toggleClass("fa-plus-square fa-minus-square");