<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Fazedor de Site &#187; DOM</title>
	<atom:link href="http://www.fazedordesite.com/blog/category/dom/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fazedordesite.com/blog</link>
	<description>Blog voltado a todos os fazedores de site, programadores, webdesigners, designers de interface, enfim, todos que contribuem pro crescimento da nossa profissao, teremos textos sobre Javascript principalmente, metodologias de desenvolvimento, usabilidade, acessabilidade e muito mais.</description>
	<pubDate>Mon, 05 Jan 2009 16:05:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tabela Dinâmica com javascript</title>
		<link>http://www.fazedordesite.com/blog/2007/08/10/tabela-dinamica-com-javascript/</link>
		<comments>http://www.fazedordesite.com/blog/2007/08/10/tabela-dinamica-com-javascript/#comments</comments>
		<pubDate>Fri, 10 Aug 2007 12:26:19 +0000</pubDate>
		<dc:creator>Rodrigo Fante</dc:creator>
		
		<category><![CDATA[DOM]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.fazedordesite.com/blog/2007/08/10/tabela-dinamica-com-javascript/</guid>
		<description><![CDATA[Bom passei nos posts anteriores alguns exemplos de como trabalhar com DOM.
Agora temos um exemplo de como gerenciar as linhas e colunas de uma tabela com javascript, o que chamamos de Tabela Dinâmica.
Neste exemplo usaremos um pouco, bem pouco de como trabalhar com os nós, mas é um começo para entender as utilidades, fora isso [...]]]></description>
			<content:encoded><![CDATA[<p>Bom passei nos posts anteriores alguns exemplos de como trabalhar com DOM.</p>
<p>Agora temos um exemplo de como gerenciar as linhas e colunas de uma tabela com javascript, o que chamamos de Tabela Dinâmica.</p>
<p>Neste exemplo usaremos um pouco, bem pouco de como trabalhar com os nós, mas é um começo para entender as utilidades, fora isso tem algumas coisas bem interessantes.</p>
<ul>
<li>Como criar uma linha na tabela</li>
<li>Eliminando linha da tabela</li>
<li>Eliminando todas linhas da tabela</li>
</ul>
<p>Vou falar pouco porque semana que vem terei novamente férias <img src='http://www.fazedordesite.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Então estou adiantando algumas coisas aqui no trabalho, mas acredito que o código esteja bem comentado, mas em caso de dúvidas perguntem a vontade, depois em casa as responderei tranqüilamente.<br />
Sobre o script do layout antigo, que escorregava o post.. esse final de semana passo aqui para vocês, mas não é meu, logo vai estar todo em inglês, mas passarei a quem interessar, futuramente monto um exemplo igual aquele dai sim comentado.</p>
<p>A página para ver o código e exemplo:</p>
<p><a href="http://www.fazedordesite.com/exemplos/tabeladinamica/" title="Tabela Dinâmica 1.0.0">Tabela Dinâmica 1.0.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fazedordesite.com/blog/2007/08/10/tabela-dinamica-com-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DOM - parentNode, firstChild, lastChild e mais&#8230;</title>
		<link>http://www.fazedordesite.com/blog/2007/08/09/dom-parentnode-firstchild-lastchild-e-mais/</link>
		<comments>http://www.fazedordesite.com/blog/2007/08/09/dom-parentnode-firstchild-lastchild-e-mais/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 14:21:42 +0000</pubDate>
		<dc:creator>Rodrigo Fante</dc:creator>
		
		<category><![CDATA[DOM]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.fazedordesite.com/blog/2007/08/09/dom-parentnode-firstchild-lastchild-e-mais/</guid>
		<description><![CDATA[Este post é continuação de &#8220;Continuando com HTML DOM&#8221;.
Faço nesse momento minhas palavras as escritas no site da W3C, que essas três propriedades, parentNode, firstChild, e lastChild nos permitem seguir a estrutura do documento e acessar os elementos mais próximos.
parentNode é o nó pai, ou seja, o elemento precedente ao que estamos no momento, por [...]]]></description>
			<content:encoded><![CDATA[<p>Este post é continuação de <a href="http://www.fazedordesite.com/blog/2007/08/09/continuando-com-html-dom/" title="Continuando com HTML DOM">&#8220;Continuando com HTML DOM&#8221;</a>.</p>
<p>Faço nesse momento minhas palavras as escritas no site da <a href="http://www.w3schools.com/htmldom/dom_nodes_access.asp" title="W3C - HTML DOM Access Nodes">W3C</a>, que essas três propriedades, <em>parentNode, firstChild, e lastChild</em> nos permitem seguir a estrutura do documento e acessar os elementos mais próximos.</p>
<p><strong>parentNode</strong> é o nó pai, ou seja, o elemento precedente ao que estamos no momento, por exemplo, se temos o seguinte código:</p>
<p><code><br />
&lt;p&gt;texto&lt;/p&gt;<br />
</code></p>
<p>Neste código o elemento pai é a tag <em>P</em> o filho é o texto contido nela, o filho neste caso que temos apenas um texto simples dentro podemos chamar com <strong>firstChild</strong>, que pega o primeiro filho do nó pai, nesse caso filho único.</p>
<p>Mais um exemplo para deixar ainda mais claro toda situação:</p>
<pre>
<code></code>&lt;table&gt;&lt;tr&gt;

&lt;td&gt;Rodrigo&lt;/td&gt;

&lt;td&gt;Fante&lt;/td&gt;

&lt;td&gt;Fazedor&lt;/td&gt;

&lt;td&gt;Site&lt;/td&gt;

&lt;/tr&gt;

&lt;/table&gt;</pre>
<p>Neste código acima pegamos o <em>TR</em> como nó pai, poderia ser o table, mas ai teria somente um filho o <em>TR</em>, como quero mais filhos, pois do <em>TR</em> derivam 3 <em>TD</em>, 3 colunas.<br />
Então recapitulando <em>TR</em> é o pai e todos os <em>TD</em> dentro dele são filhos.<br />
O <strong>firstChild</strong> é o que contém o texto <em>Rodrigo</em>, pois é o primeiro nó logo após o pai, e o <strong>lastChild</strong> é a coluna que contém o texto <em>Site</em> pois é o último elemento derivado do pai.</p>
<p>Uma vez compreendida a hierarquia,  como então posso acessar e interagir com esses nós?</p>
<p><strong>Recuperando o valor de um nó:</strong></p>
<p>Vamos imaginar no HTML temos o seguinte código:<br />
<code><br />
&lt;p id="teste"&gt;tete&lt;/p&gt;<br />
</code><br />
Analisando o exemplo acima temos um parágrafo que é o pai, e o texto que é o filho, quero pegar o valor desse filho, logo usei o javascript dado no exemplo abaixo:<br />
<code><br />
document.getElementById("teste").firstChild.nodeValue<br />
</code><br />
Ele pega pelo ID <em>teste</em> o valor do primeiro filho dele através da propriedade <em>nodeValue</em>, esta propriedade por ser usada tanto com <strong>firstChild</strong> como com <strong>lastChild</strong>.</p>
<p><strong>Removendo um nó filho:</strong></p>
<p>Vamos supor que temos dois divs, um dentro do outro, e queremos que o de dentro seja eliminado, exterminado, sem piedade, basta chamar o exterminador de nós, o <strong>removeChild</strong>.</p>
<p>Vejamos o seguinte HTML:</p>
<pre>
<code>

&lt;div id="paizao"&gt;

 &lt;div id="filhao"&gt;Sou o filho do meu pai&lt;/div&gt;

&lt;/div&gt;

</code></pre>
<p>Agora como podemos fazer assim para apagar, exterminar com o fiho do paizao ali:<br />
<code><br />
var elem=document.getElementById("filhao");<br />
elem.parentNode.removeChild(x);<br />
</code></p>
<p>Então ali achamos o filho pelo seu ID, e para remove-lo acessamos o pai com o <strong>parentNode</strong> e pedimos para o pai dar um castigo nesse filho levado o excluindo do nosso HTML com o <strong>removeChild</strong>.</p>
<p>Certo, a hierarquia ficou clara, entendi como manipular esses nós, mas tem mais alguma propriedade que devo saber dos nós?</p>
<p>Bom, pra terminar com essa conversa familiar de pai, filho, vamos ver a informação que cada nó carrega.</p>
<p><strong>nodeValue:</strong></p>
<p>Como mostrado em um exemplo acima, ele retorna o valor do nó, se este for um texto, caso seja um elemento como uma <em>DIV</em> por exemplo, este método não irá funcionar, retorna um valor vazio, lembrando que o texto dentro de uma <em>DIV</em> é um nó filho dela, e é acessível, somente a <em>DIV</em> propriamente que não.</p>
<p><strong>nodeName:</strong></p>
<p>Retorna o nome da tag em elementos do HTML, caso seja um nó de texto retorna o texto <em>#text</em>.</p>
<p><strong>nodeType:</strong></p>
<p>Retorna um número inteiro, que identifica o tipo do nó.</p>
<p>Relação dos nós mais importantes e seus números identificadores:</p>
<ul>
<li>1. Elemento</li>
<li>2. Atributo</li>
<li>3. Texto</li>
<li>8. comentário</li>
<li>9. Documento(document)</li>
</ul>
<p>Acho que por enquanto é isso ai, já está bem extenso, e sei que esse monte de nó, me perdoem a piada infame, dá um nó na cabeça.</p>
<p>Arrivederci.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fazedordesite.com/blog/2007/08/09/dom-parentnode-firstchild-lastchild-e-mais/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Continuando com HTML DOM</title>
		<link>http://www.fazedordesite.com/blog/2007/08/09/continuando-com-html-dom/</link>
		<comments>http://www.fazedordesite.com/blog/2007/08/09/continuando-com-html-dom/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 11:02:19 +0000</pubDate>
		<dc:creator>Rodrigo Fante</dc:creator>
		
		<category><![CDATA[DOM]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.fazedordesite.com/blog/2007/08/09/continuando-com-html-dom/</guid>
		<description><![CDATA[Bom, no post anterior sobre HTML DOM, dei uma pequena introdução sobre como funciona a árvore DOM, e seus elementos.
Esqueci talvez de mencionar que mesmo estando alinhados em nós de mesmo nível, isso não tem relação com com o nível hierárquico das tags semanticamente, por exemplo, as tags H1 e FONT, são ambas filhas do [...]]]></description>
			<content:encoded><![CDATA[<p>Bom, no post anterior sobre <a href="http://www.fazedordesite.com/blog/2007/08/08/o-que-e-html-dom/" title="O que é HTML DOM?">HTML DOM</a>, dei uma pequena introdução sobre como funciona a árvore DOM, e seus elementos.</p>
<p>Esqueci talvez de mencionar que mesmo estando alinhados em nós de mesmo nível, isso não tem relação com com o nível hierárquico das tags semanticamente, por exemplo, as tags <em>H1</em> e <em>FONT</em>, são ambas filhas do <em>BODY</em>, porém a tag <em>H1</em> tem muito mais força semanticamente que a <em>FONT</em>, pois representa um  título, enquanto e a <em>FONT</em> pode ser um texto qualquer não necessariamente relevante.</p>
<p>Deixando claro isso, podemos continuar, e a pergunta agora é <strong>como acessar os elementos do documento HTML?</strong></p>
<p>Existem alguns métodos para se fazer isso, que são:</p>
<p><strong>getElementById()</strong><br />
Com o <em>getElementById()</em> podemos encontrar qualquer elemento através do seu ID, por isso é muito importante quando construimos um documento HTMl lembrar que o ID de cada elemento <strong>deve ser único</strong>, não podem existir 2 elementos com o mesmo ID.<br />
Para acessar então através do ID um elemento podemos fazer da seguinte forma, supomos que temos uma div, chamada teste, e queremos encontrá-la, para poder mudar a sua borda, este procedimento pode ser feito assim:</p>
<p><code><br />
document.getElementById("teste").style.border = "#FF0000";<br />
</code></p>
<p>O <em>document</em> antes do <em>getElementById</em> é necessário pois indicar que deve ser procurado o elemento do documento atual, depois disso indicamos que iriamos mudar um estilo com a propriedade <em>style</em>, e que a propriedade do estilo a ser mudada seria a borda.</p>
<p>As aspas onde indicam o ID a ser tratado são obrigatórias, a menos que o ID venha de uma variável.</p>
<p><strong>getElementsByTagName()</strong></p>
<p>O <em>getElementsByTagName</em> serve para varrer o documento em busca de uma tag específica.</p>
<p>Sua sintaxe é:</p>
<p><code>document.getElementsByTagName("nomedatag");</code></p>
<p>Ele retorna um array com todos os elementos encontrados com a tag especificada.</p>
<p>Um exemplo para seu uso:</p>
<p><code><br />
todososLinks = document.getElementsByTagName("a");<br />
alert("Total de links esta página: "+todososLinks.length);<br />
</code></p>
<p>No código acima recebemos todos os links na variável <em>todososLinks</em>, depois soltamos um <em>alert</em> mostrando quandos link foram inseridos no array, ou seja, que existem na página.</p>
<p>Esses são os métodos usados para manipular esses elementos do HTML, além desses métodos podemos usar as propriedades dos elementos:</p>
<ul>
<li>parentNode</li>
<li>firstChild</li>
<li>lastChild</li>
</ul>
<p>Mas dessas propriedades falo em um outro post, aqui é hora do almoço e a fome apertou</p>
<p>Acho que vão compreender, nem revisei como normalmente faço com o texto, se tiver erros me corrijam.</p>
<p> <img src='http://www.fazedordesite.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fazedordesite.com/blog/2007/08/09/continuando-com-html-dom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>O que é HTML DOM?</title>
		<link>http://www.fazedordesite.com/blog/2007/08/08/o-que-e-html-dom/</link>
		<comments>http://www.fazedordesite.com/blog/2007/08/08/o-que-e-html-dom/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 08:55:31 +0000</pubDate>
		<dc:creator>Rodrigo Fante</dc:creator>
		
		<category><![CDATA[DOM]]></category>

		<guid isPermaLink="false">http://www.fazedordesite.com/blog/2007/08/08/o-que-e-html-dom/</guid>
		<description><![CDATA[Essa é uma tradução adaptada e não literal que fiz do texto da W3C Schools que define o DOM.
HTML DOM, é a abreviatura do termo em inglês HTML Document Object Model, mas o que faz esse DOM?
DOM define formas padrão de acessar e manipular o HTML e seus elementos.
O DOM representa o documento como uma [...]]]></description>
			<content:encoded><![CDATA[<p>Essa é uma tradução adaptada e não literal que fiz do texto da <a href="http://www.w3schools.com/htmldom/default.asp" onclick="javascript:urchinTracker('/links/w3c_DOM');" title="W3C Schools">W3C Schools</a> que define o <strong>DOM</strong>.</p>
<p><strong>HTML DOM</strong>, é a abreviatura do termo em inglês <em>HTML Document Object Model</em>, mas o que faz esse <strong>DOM</strong>?</p>
<p><strong>DOM</strong> define formas padrão de acessar e manipular o HTML e seus elementos.</p>
<p>O <strong>DOM</strong> representa o documento como uma estrutura em árvore, ou seja, toda ramificada, com nós representando os elementos do HTML, seus atributos e o texto.</p>
<p>Como uma imagem vale mil palavras vejam um exemplo abaixo:</p>
<p><img src="http://www.w3schools.com/htmldom/htmltree.gif" alt="árvore DOM" /></p>
<p>A partir daqui o texto não é mais tradução, e sim escrito por mim.</p>
<p>A árvore inicia com <em>document</em>, que representa todo documento HTML, o segundo nó é representado pela tag <em>HTML</em>, logo abaixo no mesmo nível temos as tags <em>HEAD</em> e <em>BODY</em>.</p>
<p>A tag <em>HEAD</em> tem apenas um nó que depende dela, que chamamos de filho, que é a tag <em>TITLE</em>, que por sua vez também possui seu nó filho, que é o texto a ser inserido nela.</p>
<p>A tag <em>BODY</em> pode ter como nós filhos todos os demais elementos do HTML, estes que serão responsáveis por exibir a informação, representados na imagem pelas tags <em>H1</em> e <em>A</em>, mas podemos incluir ai muito mais tags, como por exemplo, <em>DIV</em>, <em>P</em>, <em>SPAN</em>, entre muitas outras.</p>
<p>Esses filhos do <em>BODY</em>, também possuem seus filhos, a familia é grande e os filhos desses elementos podem ser seus atributos como na tag <em>A</em> o <em>href</em>, ou ainda o texto contido nelas por exemplo:  <code>&lt;a href="exemplo.html"&gt;aqui é filho o link também&lt;/a&gt;</code>.</p>
<p>Basicamente essa é forma que os navegadores entendem e interpretam a estrutura HTML a árvore DOM, é muito importante a compreensão, para poder entender mais para frente as formas de acessar esses elementos respeitando sua hierarquia.</p>
<p>Como sempre estou aberto a dúvidas e sugestões.<br />
 <img src='http://www.fazedordesite.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fazedordesite.com/blog/2007/08/08/o-que-e-html-dom/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.808 seconds -->
