2017-09-18 177 views
0

我使用多個類作爲這樣一個選擇:如何檢查,通過它選擇的jQuery選擇了元素

jQuery(".class1 , class2 , .class3").function(){} 

現在我要檢查通過類的元素已被選中。

類似於具有類「class1」的元素,將被選中,在這種情況下,所需的結果將是「class1」。我可以通過使用.hasClass()函數來實現,但我不想使用它。有沒有其他方法可以做到這一點?

任何幫助,將不勝感激。 謝謝。

+0

您可以發佈一個片段或你做什麼的完整代碼或你想幹什麼? –

+1

'e.target'?你試過 – guradio

+0

由於在底層可能使用了[querySelectorAll](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll),如果不查詢具體的班級,對我來說也不是有意義的,因爲這是需要的。 – Boaz

回答

-2

沒有別的辦法,只需檢查元素具有類:

if($(this).hasClass('class1')) { ... }; 
1

如果你想知道什麼類觸發的功能,請嘗試以下操作:

我加入的原因下面的代碼是,如果元素有多個類,那麼我們只會得到包含類的那個。所以我們知道什麼課引發了這個。

.split(/\s/).filter(function(cn) { 
    return cn.indexOf('class') === 0; 
}).join() 

jQuery(".class1 , .class2 , .class3").click(function(e) { 
 
    var c = $(e.target).attr("class").split(/\s/).filter(function(cn) { 
 
    return cn.indexOf('class') === 0; 
 
    }).join() 
 

 
    console.log(c) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="class1 t">class1</div><br> 
 
<div class="class2 e">class2</div><br> 
 
<div class="class3 l">class3</div><br>

+0

這只是一種模仿jQuery hasClass()方法的嘗試。 – skobaljic

+1

他問是否有其他方式,但我尊重你的意見 –

+0

如果一個元素有2個類,該怎麼辦? – Pete

相關問題