Ir para conteúdo
Fórum Script Brasil
  • 0

Construtores


vini_loock

Pergunta

Olá galera,

estou estudando OO em javascript a um tempo, mas agora que resolvi criar uma simples 'biblioteca' que funcionaria como o $ da jquery, mas já me enrosquei logo no inicio.

Tenho esse código(o comentado é uma outra tentativa que falhou):

<html>
    <head>
        <title></title>
        &lt;script type="text/javascript">
            var $ = function(e){
                this.element = document.getElementById(e);
                this.html = function(){
                    return $.element.innerHTML;
                };
            };
            /*var $ = function(e){
                this.element.getElementById(e);
            };
            
            $.prototype = {
                html: function(){
                    return this.element.innerHTML;
                    //return $.element.innerHTML;
                }
            };*/
            
            window.onload = function(){
                var html = $('aaa').html();
                alert(html);
            };
        </script>
    </head>
    <body>
        <div id="aaa">
            <div id="teste">dasd</div>
        </div>
    </body>
</html>
Isso ai era para pegar o html da div#aaa, mas nada acontece. Eu imagino que seja por eu estar usando algo como 'hierarquia', mas eu não sei como poderia fazer, alguém da uma luz ai?! Vlw.[/quotebox] Edit.. Engraçado como as respostas vêm em situações que jamais imaginamos. Durante um sonho, lembrei que no php, quando queremos usar algo como: $obj->setName()->getName(); O equivalente em js: obg.setName().getName(); Nossos métodos, devem retornar eles mesmos, então assim o fiz. Mas agora a questão já é outra, como eu criarei um construtor para essa classe? Atualmente eu criei uma função chamada $, que retorna li.get(), que seria o construtor da classe, mas ao longo do tempo, conforme eu for desenvolvendo a biblioteca, eu precisarei acessar métodos específicos, como na jquery, para ajax usamos: $.ajax(); Logo, minha 'função construtora' não sevirá de nada. O código atualmente se encontra assim:
var lib = {
    element: null,
    get: function(e){
        this.element = document.getElementById(e);
        return this;
    },
    html: function(){
        return this.element.innerHTML;
    }
};

function $(e){
    return lib.get(e);
}

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...