如何使用jQuery來選擇不包含以字符串'upper'開頭並且不包含以字符串'lower'開頭的類的所有div元素。我嘗試了以下幾個例子,但沒有成功:jQuery沒有類匹配選擇器
$('div:not([class^=upper])').filter(':not([class^=lower])')
和
$('div').not('[class^=upper])').not('[class^=lower])')
請指教...
如何使用jQuery來選擇不包含以字符串'upper'開頭並且不包含以字符串'lower'開頭的類的所有div元素。我嘗試了以下幾個例子,但沒有成功:jQuery沒有類匹配選擇器
$('div:not([class^=upper])').filter(':not([class^=lower])')
和
$('div').not('[class^=upper])').not('[class^=lower])')
請指教...
這是一個有點冗長,但它應該做的伎倆 -
$('div').filter(function() {
return $(this).attr("class").substring(0,5).toLowerCase() != 'upper' && $(this).attr("class").substring(0,5).toLowerCase() != 'lower'
})
試試這個:not selector
$('div:not([class^=upper,class^=lower])');
你要引用比較中的字符串值。在上面的任一示例中,將lower
替換爲"lower"
。對鞋面做同樣的事情。
嵌套的引號沒有任何區別。儘管大多數腳本都使用嵌套引號,但「jQuery in Action」中的示例並不是這樣,這就是爲什麼我最初將它們關閉的原因。 – harrije
這似乎爲我工作得很好http://jsfiddle.net/D3BCJ/ – ingo
對我來說,返回所有div的,並不會過濾出那些基於非條件的人。你確定它不適合你嗎? – harrije
如果沒有多個類,則會顯示所有選項。因爲上層和下層不是首先出現在空格分隔的列表中,直到我將其更改爲[class * = upper]和[class * = upper],操作才失敗。對於boondoggle,對此投票感到不滿題。 – harrije