我有一个脚本下面的工作时div状态是跨度之前。当我在div之前放置span时它不起作用。当我想颠倒兄弟姐妹的顺序时,如何更改脚本以使其正常工作?添加删除类反向兄弟
$('.status:contains("1") + span').removeClass('fa-times-circle').addClass('fa-sun-o faa');
我有一个脚本下面的工作时div状态是跨度之前。当我在div之前放置span时它不起作用。当我想颠倒兄弟姐妹的顺序时,如何更改脚本以使其正常工作?添加删除类反向兄弟
$('.status:contains("1") + span').removeClass('fa-times-circle').addClass('fa-sun-o faa');
如果你想,不论使用的状态div
顺序的相同的代码和span
你可以使用下面的代码:
请注意它仅在单一跨度兄弟状态下才有效
$('.status:contains("1")').parent().find(" > span").removeClass('fa-times-circle').addClass('fa-sun-o faa');
如果您只想处理span
来到状态div
之前的情况,那么您应该使用其他答案中提到的prev
。
这可能是你需要的。我看着同一父母的所有兄弟姐妹。在下面的例子中,它为跨度过滤。
$('.status:contains("1")').siblings('span').removeClass('fa-times-circle').addClass('fa-sun-o faa');
你能举一些例子吗?你的HTML? –
'+'和'〜'只在元素是第一个元素的后面的同胞时才起作用。您无法返回或上移DOM树。要做你想做的事情'prev()' –
你已经使用了一个邻接的兄弟选择器('+')来检查_next_元素。到目前为止,还没有CSS选择器(还)看起来以前的元素...你可以做的是选择父项并检查其子项。 – KarelG