Avec ce code donné ci-dessous, je voudrais supprimer n'importe quel élément "LI" dont l'élément p> OL code> contient n'importe quel élément li code>, mais sans être disponible. <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>
4 Réponses :
if ($('#el').is(':empty')){
// custom code
}
More info here
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 code>. Ex. Si bonjour 2 comme ceci ol> li> code> Bonjour 2 ne sera pas supprimé. Merci
Votre code est itération via tout p> Li code> contenu dans #myul code>. Utilisez un sélecteur d'enfant de premier niveau > code>: <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>
Votre sélecteur p> #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>. <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>
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>