.not(selektor) vráti: jQuery
Odstráni element z vybraných elementov.
Podaný jQuery objekt, ktorý reprezentuje výber DOM elementov, .not
metóda vytvorí nový jQuery objekt z podmnožiny vybraných prvkov. Pridaný selektor je opäť testovaný pre každý element; elementy, ktoré nezodpovedajú selektoru budú zahrnuté do výsledku.
Vezmime si stránku s jednoduchým zoznamom:
<ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
Pre nastavenie položiek zoznamu, môžeme aplikovať túto metódu :
$('li').not(':even').css('background-color', 'red');
Výsledkom tohto volania je červená farba pozadia pre položky 2 a 4, pretože nezodpovedajú selektoru (pripomínam, že even
a odd
indexujú od 0).
Odstránenie špecifických elementov
Druhá verzia .not()
metódy umožňuje odstrániť elementy z vybraných, za predpokladu, že sme predtým tieto elementy našli iným spôsobom. Napríklad, že by náš zoznam mal aplikované ID na jednej z položiek.
<ul> <li>list item 1</li> <li>list item 2</li> <li id="notli">list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
Môžeme vytiahnuť tretiu položku zoznamu použitím natívnej JavaScript funkcie getElementById()
, potom ho zmaže z jQuery objektu.
$('li').not(document.getElementById('notli')) .css('background-color', 'red');
Tento zápis zmení farbu položiek 1, 2, 4 a 5. Mohli by ste dosiahnuť to isté jednoduchším jQuery výrazom, ale táto technika môže byť užitočná, keď napríklad iné knižnice poskytujú odkazy na čistý DOM uzol.
Od jQuery 1.4 .not()
metóda môže prijať funkciu ako argument rovnakým spôsobom ako .filter()
. Elementy, ktorým funkcia vráti true sú vyradené z výberu; všetky ostatné elementy sú priradené.