getElementsByClassName > les enfants
J'ai ce code HTML:
<div id="channels_0">
<div id="channels">
<h4 class="date"><span id="date">Sat 22nd Sep</span> @
<span id="time">12:45</span></h4>
<h3 class="teems"><span id="date">Swansea City v Everton </span></h3>
<h4 class="tv"><span id="mychannels"></span>Sky Sports 2/Sky Sports 2 HD</h4>
</div>
</div>
J'ai ce JS:
document.getElementById('channels').innerText)
Sorties:
Sat 22nd Sep @ 12:45
Swansea City v Everton
Sky Sports 2/Sky Sports 2 HD
Comment puis-je obtenir une poignée et de sortie de chacun des éléments comme: mychannels, ou riche, ou l'heure ou la date
c'est à dire j'ai besoin d'obtenir les enfants, comment est-ce fait?
J'ai essayé:
document.getElementById('channels').getElementsByTagName('date').value;
et
document.getElementsByClassName('date').value;
et d'autres, mais encore ne peut pas sembler obtenir une poignée sur elle.
Beaucoup de ces champs peut être accessible immédiatement, par leur propre IDENTITÉ. Vous n'avez pas le même ID à plusieurs endroits dans le document, à droite?
Avez-vous essayé de document.getElementById ("canaux").les enfants ?
Les deux
Avez-vous essayé de document.getElementById ("canaux").les enfants ?
Les deux
getElementsByClassName
et getElementsByTagName
retour d'un de la liste des nœuds, même si il ya seulement 1 élément en elle, de sorte document.getElementsByClassName('MyClass')[0].value
œuvres, laissez le [0]
bien, et il ne sera pasOriginalL'auteur dmac | 2012-09-20
Vous devez vous connecter pour publier un commentaire.
Ce sont des tâches qui sont en fait beaucoup plus facile avec un DOM-centric bibliothèque Javascript comme jQuery, dont le code serait:
Une chose importante à réaliser avec des méthodes indigènes est que, tandis que
getElementById
retournera toujours un élément unique, des méthodes commegetElementsByClass
retour des collections d'éléments, qui est l'une des raisons pour lesquelles votre code ne fonctionne pas (l'autre raison étant quevalue
n'est pas un standard de l'élément DOM la propriété: il est utilisé pour la récupération de la valeur actuelle des éléments de formulaire).Le document suivant de la méthode,
querySelectorAll
fonctionne dans tous les navigateurs les plus récents et IE à partir de la version 8 vers le haut (getElementsByClassName
ne fonctionne pas dans internet explorer jusqu'à la version 9):Pour obtenir le combiné
innerHTML
de tous les éléments de ce tourne vers le haut (dans votre code, il suffit d'un, mais il pourrait être plus), vous aurez besoin pour stocker un ensemble d'éléments dans une variable et ensuite une boucle à travers eux, à l'extrait de leurinnerHTML
un par un:les données que j'essaie de le faire est ici: visualdesign.ie/_dev/_tmp/www/epl.html
$('#channels .date:eq(0)').text()
obtiendrez la première appariés de texte de l'élément.:eq(0)
n'est pas standard CSS – c'est quelque chose que le jQuery équipe a ajouté dans les DOM transversal: elle suppose que tout le sélecteur peut renvoyer n'importe quel nombre d'éléments, et le nombre que vous passez àeq
détermine un à sortir du. Joli site, BTW.merci s'accoupler. j'ai essayer ceci:
$myDate = $('#channels .date:eq(0)').text()
... avec un journalconsole.log('myDate is ('+$myDate+')');
et j'obtiens ceci:myDate is ()
... je vais essayer avecdate:eq(1)
etdate:eq(2)
etc, et même histoire. Mais le$('#channels .date').text();
sortie tout normalement... des idées? merci!OriginalL'auteur Barney
Notez également que votre
id
s doit être unique dans l'ensemble du document.DÉMO.
OriginalL'auteur João Silva
Si vous avez besoin pour obtenir tous les descendants directs du nœud racine, l'utiliser, le
Si vous avez besoin de tous les Nœuds enfants du nœud racine, utilisez ce
Ou pour obtenir tous les travées du nœud racine, puisque c'est là que le texte est, essayez ce,
Je ne suis pas sûr si c'est ce que vous voulez accomplir. Si.
OriginalL'auteur theintersect
Essayer cette
si u n'ont pas le même id à différents endroits
OriginalL'auteur iJade