2010-10-19 8 views
2

j'ai un div:trouver des éléments avec jquery

<div id="div"></div> 

avec

$("#div").append("<div id='c'></div>") 
$("#c").length 

renvoie 0. ce que je peux faire pour trouver les id = largeur div c après insérés dans div #div?

grâce

Répondre

2

Il fonctionne pour moi: http://jsfiddle.net/4Q4cM/

Peut-être #div élément n » t ajouté à l'arbre DOM lui-même? Par exemple, vous faites $('<div id="div"></div>') au lieu de l'insérer dans le document. Nick Craver a aussi une bonne estimation.

-2
$("#div #c") 

trouverez ce que vous cherchez

+0

Vous devriez ** très ** rarement utiliser un sélecteur comme celui-ci, un sélecteur d'ID doit * seulement * être '# id' dans presque tous les cas. Dans ce cas, ce n'est pas le problème. –

1

essayer de faire:

$('div').append($('<div>').attr('id', 'c')) 
1

Ce que vous avez fonctionnera aussi longtemps que vous utilisez dans un gestionnaire document.ready, comme ceci:

$(function() { 
    $("#div").append("<div id='c'></div>") 
    alert($("#c").length); //alerts 1 
}); 

You can test it here, sans l'emballage .ready, si elle fonctionne avant <div id="div"></div> est chargé dans les DOM, Ce sélecteur #div ne trouve rien et ne rajoute donc rien aux éléments 0 trouvés.

-1

Tout d'abord, il n'aura pas de largeur jusqu'à ce qu'il contienne du contenu. Essayez ça.

+1

Je pense que vous vous méprenez sur la propriété 'length()' (dans ce cas, la 'longueur' est essentiellement le nombre d'éléments trouvés par le sélecteur), alors que * semble * le confondre avec 'width'. –

+0

whoops. J'ai vraiment manqué ça, désolé. – fish2000

Questions connexes