11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je debute en jQuery. J'ai une liste de liens classes alphabétiquement sous cette forme (extrait) :

<!DOCTYPE html>
<html>
<head>
	<title>men's brand</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<link href="list.css" rel="stylesheet" type="text/css" />
</head>

<body id="top">

	<!-- titre -->
	<h1>MEN'S BRAND</h1>

	<!-- ALL -->
	<div id="list">

		<!-- X -->
		<div id="XXX" class="letter">
			<h2>X</h2>
		</div>
		
		<!-- Y -->
		<div id="YYY" class="letter">
			<h2>Y</h2>
			<a target="_top" href="http://item.rakuten.co.jp/s-specchio/c/0000003206/">YvesSaintLaurent<br /><span>YSL</span></a>
		</div>

	</div><!-- list -->

	<!-- jQuery -->
	<script type="text/javascript" src="jquery.min.js"></script>
	<script type="text/javascript" src="list.js"></script>

</body>


Je voudrais que la fonction initiale en jQuery (dans le list.js) cache les DIV class="Letter" n'ayant pas de liens (le DIV de la lettre X dans mon bout de code).

J'ai tenté divers trucs, mais aucun ne marche :
1) $(".letter").not("a").hide();
2) $(".letter").not($(".letter a").hide();
3) $(".letter:only-child").hide(); (vu qu'il n'y a qu'un H2 dans le DIV mais cela ne fonctionne pas)

Bref je suis bloqué. Je pense qu'il y a une possibilité avec un function.each et un test avec un find(".letter a"), mais j'aurais voulu un truc tout bête grâce au $ et au not, mais est-ce possible ?

Merci pour votre aide.
Modifié par Gmilano (06 Sep 2012 - 10:18)
Merci, ça marche impeccable. Smiley biggrin

Ce ":has" ne se trouve pas sur le site sur lequel j'apprends le jQuery actuellement Smiley confus (par contre, il ont un hasClasse)
Une recherche sur le net m'a permis de découvrir cette fonction et un nouveau site que j'ai rajoute a mes favoris ! Smiley ravi

Ma route est encore très longue pour l'apprentissage de ce langage Smiley cligne