我有一個腳本下面的工作時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