2010-08-20 3 views
5

En tant que "meilleure pratique" pour les développeurs frontaux, est-il mauvais d'utiliser la propriété "control" pour faire référence à l'objet Javascript?Est-ce une mauvaise pratique de référencer des objets Javascript à partir d'éléments DOM?

Voici un lien vers la propriété en question: https://developer.mozilla.org/en/XUL/Property/control

J'ai vu beaucoup de fonctions Javascript qui font référence à des éléments DOM à l'aide des sélecteurs et effectuer des manipulations DOM de cette façon. Mais que faire si nous avons commencé par traverser l'arbre DOM et que nous avons l'élément DOM en premier?

EDIT 1 Bon, il semble qu'il y ait un intérêt ici, mais aucune contribution pour une raison quelconque. Cela a commencé comme une conversation entre moi et mon collègue. Il était préoccupé par les références circulaires et les cas possibles de perte de références ... cela s'applique-t-il ici? Je pensais aussi longtemps que nous n'appelons pas delete <javascript object> alors nous allons bien.

EDIT 2 J'ai trouvé ceci: JQuery methods and DOM properties

Dans mon monde en ce moment, j'utilise Microsoft AJAX Library où nous avons créé plusieurs ScriptControls et les mettre sur les différentes pages; qui à son tour, (les ScriptControls) sont "modifiés" par les événements de la page et parfois les événements d'autres ScriptControls. Lorsque les pages doivent faire quelque chose avec l'élément DOM, le Javascript utilise les méthodes de l'objet Javascript respectif.

Cependant, il semble que dans JQuery (basé sur l'autre question), il est courant que l'élément DOM utilise ensuite .get (0) pour en extraire l'objet JQuery (s'il existe).

Donc je suppose que ceci est une chasse aux sorcières jusqu'à présent et il n'y a toujours pas de réponse à ma question :( Je sais que je manque encore un exemple, mais je ne sais pas comment aborder ce sujet.

+0

J'ai très peu d'idée de ce que tout cela signifie. Parlez-vous de la collecte des ordures? –

+0

Je fais référence à l'opérateur de suppression en javascript. Voir: https://developer.mozilla.org/fr/JavaScript/Reference/Operators/Special_Operators/delete_Operator – Gary

Répondre

0

Je ne sais pas exactement à quoi vous faites référence, pourriez-vous donner un exemple de code simple? Sinon, votre question est un peu IMHO vague. Je vais essayer de toute façon:

Je ne comprends pas pourquoi L'attribut control est simplement l'id (string) de l'élément DOM "controlling", et non une référence à l'élément DOM réel. associé à l'autre élément DOM.

+0

Salut Daniel, désolé d'être vague sur ma question. Je vais donner un exemple de ce que je veux dire bientôt. – Gary

+0

Vous semblez confondre 'label.control' avec' label.for'. 'label.control' est en fait une référence au nœud dom avec l'identifiant dans' label.for' OU le premier contrôle imbriqué dans 'label'. Je crois que 'delete label.control' ne fait rien. – Okonomiyaki3000

Questions connexes