2011-09-13 14 views
5

¿Cómo encontrar un elemento relativo a la posición del script? Por ejemplo, en el caso más adelante me gustaría getSelfParent para devolver el elemento $('button')Cómo encontrar el padre de la etiqueta del script

<button> 
    <script> 
     getSelfParent().click(function(){...}); 
    </script> 
</button> 

$(this).parent() no funcionó.

EDIT:

quiero evitar:

  • añadiendo ID es cualquier lugar
  • atravesar todo el árbol cada vez que estoy buscando el elemento self
+1

¿Por qué quiere hacer Thi s? –

+0

@ a'r: esta es la manera en que quiero crear botones en mi php –

+1

es muy probable que la secuencia de comandos siempre estará dentro de un elemento determinado, ¿por qué no simplemente dar el elemento que desea acceder a una ID y acceder a través de $ ('#carné de identidad')? – clem

Respuesta

5
@Jakub M: this is the way I want to create buttons in my php. 

Tratar de generar HTML | salida de secuencia de comandos como:

<button> 
    <script id='RandomOrUniqueIdValue'> 
     var script=document.getElementById('RandomOrUniqueIdValue'); 
     // var script=$('#RandomOrUniqueIdValue'); 
    </script> 
</button> 
+0

entonces, en lugar de darle al botón una identificación, dárselo a la secuencia de comandos (¿para qué ID ni siquiera es un atributo válido)? – clem

+0

@stratton. ¿Qué pasa si no hay elemento principal para el script (como el botón) o es desconocido? Y SCRIPT en MSDN: http://msdn.microsoft.com/en-us/library/ms535892%28v=VS.85%29.aspx Buscar el atributo de ID. en MDN: https://developer.mozilla.org/en/HTML/Element/script verifica la compatibilidad de etiquetas para atributos globales. –

2

no creo En realidad, hay una forma de acceder al elemento padre de una etiqueta de script, ya que una secuencia de comandos se ejecuta en referencia al objeto de la ventana, no a la etiqueta html en la que se encuentra.

en términos generales, en lugar de copiar y pegar la misma pieza similar/de Javascript dentro de cada elemento de botón, que tendría más sentido que sólo les dan una clase y acceder a ellos en una sola función js

1

que debe hacer:

<button> 
    <script type="text/javascript" id="myscriptToHide1"> 
     jQuery('#myscriptToHide1').parents('button').hide(); 
    </script> 
</button> 
Cuestiones relacionadas