Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, caros colegas! :grin:
Dias atrás, eu conheci a funcionalidade do jQuery de criar funções e as chamar apenas "concatenando" ao elemento. Decidi, então, aplicar em alguns casos de minha aplicação, porém estou tendo problemas com isso, poderiam me ajudar?
Segue minha tentativa, ela retira o texto do id do elemento, retornando o número, que é o index de um array:
(function($){
$.fn.indexFrom = function() {
return this.each(function() {
var regexId = /^[a-z]+/;
var id = $(this).attr('id');
var index = id.replace('-', '').replace(regexId, '');
return index;
});
};
})(jQuery);
E chamo:
var index = $('#test-id0').indexFrom();
Porém preciso que me retorne uma string, está retornando um objeto. Se coloco um alert() dentro da função com a mesma variável que retorno, ele apresenta o valor que quero.
O que preciso é algo como as funções .val() e .html(), nativas.
Show, consegui dessa maneira! :thumbsup:
Agora estou tentando criar uma nova função, qual é a sintaxe?
Tentei com vírgula e ponto e vírgula, mas sem sucesso.
(function($){
$.fn.indexFrom = function() {
},
$.fn.addressFrom = function() {
};
})(jQuery);
(function($){
$.fn.indexFrom = function() {
};
$.fn.addressFrom = function() {
};
})(jQuery);ponto e virgula mesmo.
pq você não obteve sucesso ?
deu algum erro no console ? qual ?
marker.addressFrom is not a function
marker.addressFrom();
Deixei a função assim:
(function($){
$.fn.indexFrom = function() {
var regexIndex = /\d+$/;
var id = $(this).attr('id');
var index = id.match(regexIndex);
return index;
};
$.fn.addressFrom = function() {
alert(this.title);
};
})(jQuery);
Chamando desta maneira:
marker.addressFrom();
Essas funções só funcionam em objetos jQuery? Pois, esse marker é um objeto da API do Google Maps.
Sim, só funcionarão em objetos jQuery.
pois o fn é um prototype do jQuery.
Se você quer fazer em cima do GoogleMaps, você tem q extender o prototype do maps.
E você sabe como faz isso?
Procurando por prototype do GMaps só achei isso: http://www.sitepoint.com/google-maps-api-jquery/
tem 2 returns.. não faz sentido, entendeu ?