我有一個元素和一個jQuery集合。我想檢查元素是否在jQuery集合內。我需要這樣的條件。檢查一個元素是否在jQuery集合中
if ($someUL.find("> li > a").contains(myElement)) {
...
}
這裏,contains
方法不存在,我用它來證明我的目標。我知道幾種類似的方法,如has
,is
,$.contains
,但它們都有不同的含義。
我有一個元素和一個jQuery集合。我想檢查元素是否在jQuery集合內。我需要這樣的條件。檢查一個元素是否在jQuery集合中
if ($someUL.find("> li > a").contains(myElement)) {
...
}
這裏,contains
方法不存在,我用它來證明我的目標。我知道幾種類似的方法,如has
,is
,$.contains
,但它們都有不同的含義。
您可以在這裏使用.index()
方法。如果一套沒有找到元素,.index()
返回-1通過閱讀jQuery API:
if($someUL.find("> li > a").index(myElement) > -1){
//myelement exists in set $someUL.find("> li > a")
}
謝謝你爲了快速回答,對於這個問題比使用'過濾器'IMO更好。而且,就性能而言,這應該稍微高效。 –
@ZoltánTamási:很高興幫助:),不要忘記接受答案。 –
你可以有你的答案。
我認爲你的目標是檢查elememt是否匹配選擇器。答案是使用.is()
。
根據所述API:
.has()
在無極被使用並且是實驗技術.contain()
或$.contain()
判定後代.is()
可用於決定選擇,元件或選擇即使功能。所以,你應該使用.is()
這裏是API
謝謝你的總結,我不知道'是'可以接受另一個jQuery對象來檢查遏制。然而,對於這個簡單的任務,當我有一個精確的DOM元素時,使用'index'是更好的方法IMO。但你絕對是上帝,我的贊成。 –
另外,請原諒我,我沒有免費的一週閱讀jQuery API :) –
在你的問題之前,我從來沒有使用'.has()'。在你的問題之後,我瞭解了'.has()'函數,可能有很多你的問題的答案,選擇最好的。我從別人的回答中學到很多東西:) – TomIsion
'如果($ someUL.find( 「> li>系統」)。過濾器(myElement)。長度)'???現在我不確定你確切的預期行爲是什麼?那麼只需使用:'$ someUL.find(myElement).length'?因爲根據你的用例和相關的HTML標記,這可能就足夠了。現在確定你最好提供一個有問題的MCVE –
@ A.Wolff謝謝你,是的,你的建議也可以,但是我更喜歡使用'index'。 –
它不適合你:'myElement.is($ someUL.find(「> li> a」))'? –