julho 2009
D S T Q Q S S
« mai   fev »
 1234
567891011
12131415161718
19202122232425
262728293031  

Javascript insertAfter()

O Javascript possui a função insertBefore(), mas não possui uma função similar para inserir após o objeto como é de se esperar que existisse uma chamada insertAfter(), mas podemos inserir um elemento após um determinado objeto utilizando a insertBefore():

function insertAfter ( newObj, target)
{
  target.parentNode.insertBefore ( newObj, target.nextSibling);
}

Para entender esta função, vamos primeiramente ver a sintaxe do comando insertBefore():

  • Função: insertBefore()
  • Descrição: Insere um elemento ao final do documento ou após um elemento especificado.
  • Sintaxe: elemento.insertBefore ( param1, param2)
  • Parâmetros:
    • param1: REQUERIDO – Novo elemento a ser adicionado.
    • param2: OPCIONAL – Elemento que se especificado o novo elemento (param1) será inserido após este. Se omitido, inserere no final.

Como a função insertAfter() que foi criada informa o “target”.nextSibling como segundo parâmetro, quando não ouver um nextSibling no elemento, será retornado nulo, e fará com que a função insertBefore() insira o elemento no final.

Podemos extender o DOM e adicionar esta função a todos os elementos, utilizando o seguinte código:

Element.prototype.insertAfter = function ( newObj)
{
  this.parentNode.insertBefore ( newObj, this.nextSibling);
}

Desta forma, podemos utilizar o comando insertAfter() como utilizamos o comando insertBefore(), tal como:

document.getElementById ( 'alvo').insertAfter ( objeto);

Para testar, .

O teste irá incluir após este elemento.

Simples e prático.

Envie uma resposta

 

 

 

Você pode utilizar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>