document.getElementById – Você usa isso?

Se você ao programar em javascript ainda usa “document.getElementById” ou “document.getElementsByTagName” toooooooda vez que quer selecionar determinado elemento ou grupo de elementos, então você não utiliza um Framework “porreta” como o Jquery, que suporta seletores CSS como parâmetro e outros seletores mais bizarros.

Aprenda mais sobre seletores CSS, dê uma estudada.

Tá, e como é que faz então em Jquery? Assim:

cssQuery() do Dean Edwards.

“getElementsByTagName? Pah!”

Sintaxe:

elements = cssQuery(selector [, from]);

Exemplos:

// retorna todos os parágrafos que são filhos diretos de body

var tags = cssQuery("body > p");// retorna todos os elementos que tenham o atributo 'href'

var tags = cssQuery("[href]");

// retorna os elementos que o atributo 'href' é igual a '#'

var tags = cssQuery("a[href='#']");

// procura todas as imagens dentro dos links retornados acima

var images = cssQuery("img", tags);

// pega todas as listas

var tags = cssQuery("dl,ol,ul");

// até em xml externos

var tags = cssQuery("my|:root>my|link", myXMLDoc);

// você entende isso?

var complex = "p>a:first-child+input[type=text]~span";

var tags = cssQuery(complex);

Seletores suportados:

    *

    E

    E F

    E > F

    E + F

    E ~ F

    E.warning

    E#myid

    E:link

    E:first-child

    E:last-child

    E:nth-child(n)

    E:nth-last-child(n)

    E:only-child

    E:root

    E:lang(fr)

    E:target

    E:enabled

    E:disabled

    E:checked

    E:contains("foo")

    E:not(s)

    E[foo]

    E[foo="bar"]

    E[foo~="bar"]

    E[foo^="bar"]

    E[foo$="bar"]

    E[foo*="bar"]

    E[foo|="bar"]

E funciona no IE, FF, OP, Netscape e Safari.

Fonte: http://www.elmicox.com/

3 thoughts to “document.getElementById – Você usa isso?”

  1. Bom dia,

    estou com problemas do tipo, Windows Media Player embutido na página roda vídeos no IE mas não roda (nem aparece) no FF e no Safari. Preciso de ajuda, estou disposto a contratar alguém que me socorra.

    Muiot obrigado,

    Luiz Felipe Faro.

Leave a Reply

Your email address will not be published. Required fields are marked *