Sé que en JavaScript la sintaxis es la siguiente:
function myfunction(param){
//some code
}
¿Hay alguna manera de declarar una función en jQuery que se pueda agregar a un elemento? Por ejemplo:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
fuente
fuente
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
o.addClass()
...Respuestas:
De los documentos :
Entonces lo haces
fuente
$('my_div').myfunction();
se llamará<my_div></my_div>
. Necesita el signo hash allí para referirse a la identificaciónmy_div
.A pesar de todas las respuestas que ya recibió, vale la pena señalar que no necesita escribir un complemento para usar jQuery en una función. Ciertamente, si se trata de una función simple y única, creo que escribir un complemento es excesivo. Se podría hacer mucho más fácilmente simplemente pasando el selector a la función como parámetro . Su código se vería así:
Tenga
$
en cuenta que$param
no se requiere el nombre de la variable . Es solo un hábito mío hacer que sea fácil recordar que esa variable contiene un selector jQuery. También podrías usarloparam
también.fuente
Si bien existe una gran cantidad de documentación / tutoriales, la respuesta simple para su pregunta es esta:
Dentro de esa función, la
this
variable corresponde al conjunto ajustado jQuery en el que llamó a su función. Entonces algo como:... vaciará a la consola el número de elementos con la clase
foo
.Por supuesto, la semántica tiene un poco más que eso (así como las mejores prácticas y todo ese jazz), así que asegúrese de leerlo.
fuente
Para que una función esté disponible en los objetos jQuery, agréguela al prototipo jQuery (fn es un acceso directo para el prototipo en jQuery) de esta manera:
Esto generalmente se llama un complemento jQuery .
Ejemplo: http://jsfiddle.net/VwPrm/
fuente
Sí, lo que estás describiendo es un complemento jQuery.
Para escribir un complemento jQuery, crea una función en JavaScript y la asigna a una propiedad en el objeto
jQuery.fn
.P.ej
Dentro de su función de complemento, la
this
palabra clave se establece en el objeto jQuery en el que se invocó su complemento. Entonces, cuando lo haces:Luego,
this
dentromyfunction
se establecerá en el objeto jQuery devuelto por$('#my_div')
.Ver http://docs.jquery.com/Plugins/Authoring para la historia completa.
fuente
fuente
También puede usar extender (la forma en que crea complementos jQuery):
Uso:
fuente
Puede escribir sus propios complementos jQuery (función que se puede invocar en elementos seleccionados) como a continuación:
Llámalo más tarde como:
fuente
Sí, los métodos que aplica a los elementos seleccionados usando jquery se llaman complementos jquery y hay una buena cantidad de información sobre la autoría dentro de los documentos jquery.
Vale la pena señalar que jquery es solo javascript, por lo que no hay nada especial en un "método jquery".
fuente
Cree un método de "colorear":
Úselo:
Este ejemplo simple combina lo mejor de Cómo crear un complemento básico en los documentos de jQuery y las respuestas de @Candide , @Michael .
this
puede estar encadenado . (Gracias @Potheek.)fuente
Siempre puedes hacer esto:
fuente
Parece que desea extender el objeto jQuery a través de su prototipo (también conocido como escribir un complemento jQuery ). Esto significaría que cada nuevo objeto creado mediante la llamada a la función jQuery (
$(selector/DOM element)
) tendría este método.Aquí hay un ejemplo muy simple:
Manifestación
fuente
El ejemplo más simple para hacer cualquier función en jQuery es
fuente