目前,我需要檢查一個特定的錨標記以查看它是否包含某些文本。如果這樣做,那麼我需要它來改變另一個元素的文本。就如一個例子,我有以下代碼。但是,無論我將其放在錨標籤中,它總是會提醒「yup!」。jQuery中的if-then語句
if ($("a:contains('Level 2 (Admin Only)')")) {
alert("yup!");
}
else {
alert("nope!");
}
我在做什麼錯?我應該使用不同的選擇器方法嗎?
目前,我需要檢查一個特定的錨標記以查看它是否包含某些文本。如果這樣做,那麼我需要它來改變另一個元素的文本。就如一個例子,我有以下代碼。但是,無論我將其放在錨標籤中,它總是會提醒「yup!」。jQuery中的if-then語句
if ($("a:contains('Level 2 (Admin Only)')")) {
alert("yup!");
}
else {
alert("nope!");
}
我在做什麼錯?我應該使用不同的選擇器方法嗎?
這是因爲$("a:contains('Level 2 (Admin Only)')")
是總是如此。
嘗試這種情況:
if($("a:contains('Level 2 (Admin Only)')").length) {
alert("yup!");
}else{
alert("nope!");
}
你必須檢查jQuery對象的大小。 jQuery返回一個由所有匹配元素組成的對象。
// If .length == zero, it evaluates to false in an if condition
if ($("a:contains('Level 2 (Admin Only)')").length) {
jQuery的方法總是返回一個對象選擇是否匹配任何元素與否;和對象是總是真。
您應該使用.length
屬性相反,這將是truthy如果一個元素被匹配,並falsy如果一個人沒有。
if ($("a:contains('Level 2 (Admin Only)')").length) {
alert("yup!");
}else{
alert("nope!");
}
'length!= 0'?咩。這是JavaScript。使用真實! –
@MattBall只是想讓if語句和OP一樣。 – Neal
謝謝偉大的作品! – captainrad