- /*
- fonction getIdOf
- objet: permet de récupérer l'id de n'importe quel élément parent
- args:
- - tag: Nom de l'élément à récupérer
- - elt: élément source (this)
- - niv: niveau du parent à récupérer
- */
-
- function getIdOf(elt,tag,niv){
- // On initialise le niveau à 1 si besoin est.
- (niv==undefined || niv<1)?niv=1:niv=niv;
- // Le document a été parcouru entièrement et aucune balise n'a été trouvée
- if (elt.parentNode.nodeName=="#document") return null;
- // Si la balise ne correspond pas on continue la recherche
- if (elt.parentNode.nodeName!=tag){
- return getIdOf(elt.parentNode,tag,niv);
- // Si le nombre de niveaux demandé n'est pas atteint et qu'il reste des balises correspondantes on continue
- } else if (niv!=1 && elt.parentNode.parentNode.nodeName==tag){
- return getIdOf(elt.parentNode,tag,niv-=1);
- // Sinon on renvoie l'id de la balise correspondante
- } else {
- return elt.parentNode.id;
- }
- }
/*
fonction getIdOf
objet: permet de récupérer l'id de n'importe quel élément parent
args:
- tag: Nom de l'élément à récupérer
- elt: élément source (this)
- niv: niveau du parent à récupérer
*/
function getIdOf(elt,tag,niv){
// On initialise le niveau à 1 si besoin est.
(niv==undefined || niv<1)?niv=1:niv=niv;
// Le document a été parcouru entièrement et aucune balise n'a été trouvée
if (elt.parentNode.nodeName=="#document") return null;
// Si la balise ne correspond pas on continue la recherche
if (elt.parentNode.nodeName!=tag){
return getIdOf(elt.parentNode,tag,niv);
// Si le nombre de niveaux demandé n'est pas atteint et qu'il reste des balises correspondantes on continue
} else if (niv!=1 && elt.parentNode.parentNode.nodeName==tag){
return getIdOf(elt.parentNode,tag,niv-=1);
// Sinon on renvoie l'id de la balise correspondante
} else {
return elt.parentNode.id;
}
}