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");