簡體   English   中英

jQuery如果data-id元素hasClass無法正常工作

[英]jQuery if data-id element hasClass not working

我不知道我要創建的函數是否缺少元素,或者我是否缺少某些東西,但是我的函數根本不起作用。 不知道是否缺少某些東西,或者我沒有添加任何東西。 讓我知道我提供了jQuery和我試圖開始工作的代碼的屏幕截圖。 基本上我想做的是,如果具有數據ID的某個元素具有某個類,然后隱藏某些列表項。

$(function($){
    if( $('.chbs-vehicle[data-id="313"] a').hasClass('chbs-state-selected') ){
        $('ul.chbs-list-reset li(1)').hide();
    }
});

在此處輸入圖片說明

li(1)不是有效的表達式,您應該使用其他評估器:

$('ul.chbs-list-reset li:eq(0)')
$('ul.chbs-list-reset li:first-child')
$('ul.chbs-list-reset li').eq(0)

看看這個演示

如果頁面加載滿足您的條件,則可以正常工作。 但是,如果chbs-state-selected類是動態添加的,則需要使用事件處理程序監聽該更改。 您所擁有的腳本不會經常輪詢文檔以查看Vehicle 313a是否具有此類。

根據您的評論,聽起來您需要偵聽添加chbs-state-selected類的同一click事件。 看看這個基本的演示

鑒於此,您不必檢查類,只需將hide/show函數附加到同一事件即可。 但是,如有必要,可以向其添加hasClass檢查。

無論如何,它應該在同一處理程序內部,該處理程序首先添加chbs-state-selected

您可以使用eq:jquery函數

 $(function($){
        if( $('.chbs-vehicle[data-id="313"] a').hasClass('chbs-state-selected') ){
            $('ul.chbs-list-reset li:eq(0)').hide();
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM