2010-05-10 8 views
1

Mise à jour: Je vais devoir retourner à la planche à dessin sur celui-ci. Merci pour tous les commentaires.jquery arbre traversant l'aide

Salut à tous,

Vu DOM simple:

<form id="form1"> 
... 
</form> 

<div> 
    <div> 
     <a href="#" id="export">Export</a> 
    </div> 
</div> 

commençant par id = export, est-il un moyen de monter une quantité variable de divs et obtenir l'ID de formulaire le plus proche?

Merci, rodchar

+0

Comment est structuré tout votre HTML? Pourriez-vous par exemple juste stocker l'ID du formulaire dans l'attribut 'rel' du lien? Après un clic sur l'exportation, vous pouvez simplement lire cet identifiant. –

+0

@Felix - l'identifiant du formulaire varie également – Rod

+1

Ce que vous dites peut être une opération très lourde si vous êtes sur une page très encombrée, mais si votre page a une structure traçable, vous pouvez créer une fonction personnalisée. Donc, si vous pouvez partager plus de «HTML», il serait plus facile d'aider. – Sinan

Répondre

1

EDIT: Vous pouvez essayer, en supposant que la forme n'a pas de parents:

alert($(this).parents(":last").prevAll("form:first")[0].id); 

Je pense que vous devrez montrer la structure des documents plus pertinents, comme d'autres l'ont souligné .

+0

* Récupère le premier élément ancêtre correspondant au sélecteur *. Mais 'form' n'est pas un ancêtre de' a'. –

+0

Cela ne fonctionne pas pour moi puisque le div conteneur supérieur est un frère de la forme (je reçois erreur indéfinie) – Rod

+0

je pense, cela ne aiderait pas puisque '# export' n'est pas un élément enfant de' form' ... – Sinan