Scenario: inserire un elemento con lo stesso nome di classe dell’elemento selezionato

In questo scenario, si tenta di inserire un elenco quando è selezionata una voce in un elenco.

Elemento inserito:

<ul class="nav">
   <li class="item"> Sale </li>
   <li> class="item"> Offers </li>
</ul>

Selezionato

<li class="women-section">Women</li>

Selettore: #wrap > ul.nav:eq(0) > li.women-section:eq(0)

Risultato:

Il selettore non funziona, perché ul.nav:eq(0) fornisce un elemento aggiunto in modo dinamico. L’elemento non sarà disponibile e l’azione non viene applicata. Se dopo aver creato un’attività aggiungi in modo dinamico o manuale un elemento elenco simile con la stessa classe, viene creato un nuovo elemento nella prima posizione. Questo impedisce il corretto funzionamento del selettore.

Prima:

<div id="wrap">
    <ul class="nav">
        <li class="men-section"> Men</li>       <li class="women-section">Women</li>
    </ul>
</div>

Dopo (tentativo):

<div id="wrap">
     <ul class="nav">
        <li class="item"> Sale</li>
        <li> class="item"> Offers</li>
     </ul>
     <ul class="nav">
       <li class="men-section"> Men</li>
       <li class="women-section">Women</li>
    </ul>
</div>

Scenario: inserire un elemento dopo l’elemento selezionato

In questo scenario, una voce di elenco viene inserita dopo l’elemento selezionato.

Elemento inserito:

<ul class="nav">
   <li class="men-section"> Men Clothes</li>
   <li class="women-section"> Women Clothes</li>
</ul>

Selezionato:

<li class="women-section">Women Shoes</li>

Selettore: #wrap > ul.nav:eq(0) > li.women-section:eq(0)

Risultato:

In questo caso, l’inserimento di un elenco dopo quello che termina con la voce di elenco selezionata funziona come previsto. Il nuovo elemento viene aggiunto alla stessa posizione dell’elemento selezionato in relazione all’elemento padre.

Prima:

<div id="wrap">
    <ul class="nav">
        <li class="men">Men Shoes </li>       <li class="women">Women Shoes</li>
    </ul>
</div>

Dopo:

<div id="wrap">
    <ul class="nav">
        <li class="men">Men Shoes </li>
        <li class="women">Women Shoes</li>
    </ul>
      <ul class="nav">
        <li class="men-section">Men Clothes</li>
        <li class="women-section"> Women Clothes</li>
    </ul>
</div>

Scenario: rimuovere l’elemento immediatamente precedente un altro

In questo scenario, viene eliminata la voce di elenco che precede quella selezionata.

Elemento rimosso:

<li class="men-section"> Men </li>

Selezionato:

<li class="women-section">Women</li>

Selettore: #wrap > ul.nav:eq(0) > li.women-section:eq(0)

Risultato:

L’elemento viene rimosso correttamente perché la classe dell’elemento selezionato non viene modificata.

Prima:

<div id="wrap">
    <ul class="nav">
        <li class="men-section">Men</li>
        <li class="women-section">Women</li>
    </ul>
</div>

Dopo:

<div id="wrap">
    <ul class="nav">
        <li class="women-section">Women</li>
    </ul>
</div>

Scenario: rimuovere l’elemento immediatamente successivo a un altro

In questo scenario, viene eliminata la voce di elenco dopo l’elemento selezionato.

Elemento rimosso:

<li class="kids-section">Kids</li>

Selezionato:

<li class="women-section">Women</li>

Selettore: #wrap > ul.nav:eq(0) > li.women-section:eq(0)

Risultato:

L’elemento viene rimosso correttamente perché la classe dell’elemento selezionato non viene modificata. L’elemento rimosso include una classe univoca all’interno della relativa sottostruttura padre.

Prima:

<div id="wrap">
    <ul class="nav">
        <li class="men-section">Men</li>
        <li class="women-section">Women</li>
        <li class="kids-section">Women</li>
    </ul>
</div>

Dopo:

<div id="wrap">
    <ul class="nav">
        <li class="men-section">Men</li>
        <li class="women-section">Women</li>
    </ul>
</div>