0
votes

Comment supprimer LI Élément dont OL enfant n'a pas de LI en jQuery?

Avec ce code donné ci-dessous, je voudrais supprimer n'importe quel élément "LI" dont l'élément OL code> contient n'importe quel élément li code>, mais sans être disponible.

p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<ol id="myUL">
  <li>Hello 1</li>
  <li>Hello 2
    <ol></ol>
  </li>
  <li>Hello 3
    <ol>
      <li>Hello 3.1</li>
      <li>Hello 3.2</li>
      <li>Hello 3.3</li>
    </ol>
  </li>
</ol>


0 commentaires

4 Réponses :


0
votes
if ($('#el').is(':empty')){
  // custom code
}
More info here

1 commentaires

Cela ne prend pas en compte l'élément OL contenant de l'espace blanc ou d'un autre élément à côté de li . Ex. Si bonjour 2 comme ceci

  • Bonjour 2
      Bonjour 2 ne sera pas supprimé. Merci



  • 1
    votes

    Votre code est itération via tout Li code> contenu dans #myul code>. Utilisez un sélecteur d'enfant de premier niveau > code>:

    p>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    
    <ol id="myUL">
      <li>Hello 1</li>
      <li>Hello 2
        <ol></ol>
      </li>
      <li>Hello 3
        <ol>
          <li>Hello 3.1</li>
          <li>Hello 3.2</li>
          <li>Hello 3.3</li>
        </ol>
      </li>
    </ol>


    0 commentaires

    3
    votes

    Votre sélecteur #myul li code> est également la sélection du li code> S dans hello 3 car ils sont li code> descendants de #myul Et comme ils n'ont pas ol code> avec li code> dans eux, ils sont supprimés. Vous pouvez utiliser le sélecteur enfant > code> pour sélectionner uniquement les enfants de #myul code>.

    p>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    
    <ol id="myUL">
      <li>Hello 1</li>
      <li>Hello 2
        <ol></ol>
      </li>
      <li>Hello 3
        <ol>
          <li>Hello 3.1</li>
          <li>Hello 3.2</li>
          <li>Hello 3.3</li>
        </ol>
      </li>
    </ol>


    0 commentaires

    0
    votes

    Vous pouvez utiliser le sélecteur de requête #myul li ol ol ol (code> pour trouver OL et vérifier LI à l'intérieur.

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    
    <ol id="myUL">
      <li>Hello 1</li>
      <li>Hello 2
        <ol></ol>
      </li>
      <li>Hello 3
        <ol>
          <li>Hello 3.1</li>
          <li>Hello 3.2</li>
          <li>Hello 3.3</li>
        </ol>
      </li>
    </ol>


    0 commentaires