11548 sujets

JavaScript, DOM et API Web HTML5

Salut tout le monde,


<div class="line">
  <input type="hidden" name="void" class="item_id" value="1" />Item 1
</div>
<div class="line">
  <input type="hidden" name="void" class="item_id" value="" />fake item
</div>
<div class="line">
  <input type="hidden" name="void" class="item_id" value="1" />Item 2
</div>


Je cherche à binder des actions (mouseover, mouseout et click) sur les divs de classe "line" qui contiennent un input de classe "item_id" avec une valeur dedans.
Je peux faire un truc comme ça:


$('div.line').mouseover(function () {
  if ($(this).find('input.item_id').val()) {
    $(this).addClass('hightlight');
  }
})
...


Mais je suis sur que je peux faire quelque chose de plus sympa.
Par exemple j'aimerais bien pouvoir sélectionner les bonnes lignes des le début, ce qui me permettrait de chainer les events.
Modifié par Glide (17 Feb 2010 - 15:37)
Pratique le has(), merci.
Par contre la ça va me binder aussi le div avec l'input qui ne contient pas de valeur.
Comment faire pour le skipper ?