2011-09-19 22 views
7

Estoy tratando de hacer una función jquery, y la utilizo a continuación, pero sin obtener ningún resultado. Por favor dime el proceso para hacerlo.Crear función en jquery

<script type="text/javascript"> 
    (function($){ 
     $.fn.myplugin = function(){ 
      alert(this.id); 
     }; 
    })(jQuery); 

    $("#sample").myplugin(); 
</script> 
+0

¿Qué Firebug te dice eso? –

+0

¿tiene el elemento con una "muestra" de identificación en algún lugar de su documento? ¿Esta etiqueta 'script' está debajo del HTML? si no, ajuste el código con '$ (document) .ready (function() {// aquí va su código});' –

Respuesta

11

se puede ver el código de trabajo aquí - http://jsfiddle.net/gryzzly/YxnEQ/

en cuenta que necesita un elemento con id "muestra" a estar presente en el documento al que está ejecutando la anterior código. Además, el this está señalando al objeto jQuery, por lo que a fin de obtener los elementos ID, es necesario utilizar una de las siguientes:

alert(this[0].id); 

o

alert(this.attr('id')); 

La primera es preferible, porque es Más rápido.

+0

hey, usé lo mismo pero no funcionó :( –

+0

¿en qué navegador estás? ¿JQuery está cargado en la página? –

+0

Estoy trabajando en Firefox y sí, jquery está cargado –

0
alert(this.attr('id')); 

this en este contexto es un objeto jQuery, no un elemento DOM prima.

+0

entonces, ¿cuál debería ser el código y cómo implementaré cualquier función jquery? –

1

intente cambiar

 alert(this.id); 

a

 alert(this[0].id); 

medida que se pone una matriz objeto jQuery.

+0

No, no recibo ninguna matriz ... y probé la línea anterior, pero no funcionó ... –

3

Prueba esto:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#sample").myplugin(this.id); 
}); 

function myplugin(id) { 
    alert(id); 
} 
</script> 
5

Prueba esto:

<script type="text/javascript"> 
$(document).ready(function(){ 
    myplugin($("#sample")); 
}); 

    function myplugin(obj){ 
    alert(obj.id); 
    } 
</script> 
+0

En realidad, no pude realizar una solución de entrenamiento dada por @Kanishka, por lo que esta respuesta es una mejora para su solución. Solo pensé en compartirlo –