<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Artigos sobre jQuery, XHTML, CSS e PHP &#124; Julio Bitencourt</title>
	<atom:link href="http://www.juliobitencourt.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.juliobitencourt.com</link>
	<description>Artigos e tutoriais sobre desenvolvimento web, jQuery, HTML, PHP, CSS e outras tecnologias.</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:18:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Comunicavale &#8211; Comunicação corporativa no Vale do Paraíba</title>
		<link>http://www.juliobitencourt.com/2010/05/comunicavale-comunicacao-corporativa-no-vale-do-paraiba/</link>
		<comments>http://www.juliobitencourt.com/2010/05/comunicavale-comunicacao-corporativa-no-vale-do-paraiba/#comments</comments>
		<pubDate>Sat, 08 May 2010 16:07:03 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Mercado]]></category>
		<category><![CDATA[Produtividade]]></category>
		<category><![CDATA[comunicação]]></category>
		<category><![CDATA[publicidade]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=235</guid>
		<description><![CDATA[Olá pessoal. Estou afastado do blog por vários motivos, todos profissionais. A Contagia está tomando todo meu tempo. O lado bom? Estamos crescendo muito! Em breve voltaremos a programação normal.
Mas não poderia deixar de postar aqui uma nota sobre um evento muito bom que vai acontecer no vale.
Organizado por @armindoferreira (Cruz e Ferreira) e @robsoncriative [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal. Estou afastado do blog por vários motivos, todos profissionais. A <a href="http://contagia.com.br" target="_self">Contagia</a> está tomando todo meu tempo. O lado bom? Estamos crescendo muito! Em breve voltaremos a programação normal.</p>
<p>Mas não poderia deixar de postar aqui uma nota sobre um evento muito bom que vai acontecer no vale.</p>
<div id="attachment_238" class="wp-caption alignnone" style="width: 531px"><img class="size-full wp-image-238" title="comunicavale" src="http://www.juliobitencourt.com/wp-content/uploads/2010/05/comunicavale.png" alt="Comunicavale - Comunicação colaborativa no Vale do Paraíba" width="521" height="101" /><p class="wp-caption-text">Comunicavale - Comunicação colaborativa no Vale do Paraíba</p></div>
<p>Organizado por <a href="http://www.twitter.com/armindoferreira" target="_blank">@armindoferreira</a> (<a href="http://www.cruzeferreira.com.br/" target="_blank">Cruz e Ferreira</a>) e <a href="http://www.twitter.com/robsoncriative" target="_blank">@robsoncriative</a> (<a href="http://www.criativecom.com.br" target="_blank">Criative Comunicação</a>) o Comunicavale vai discutir durante dois dias (7 e 8 de Julho/2010) o setor de comunicação do Vale do Paraíba, com <a href="http://comunicavale.com.br/?page_id=14">nomes de peso</a>.</p>
<p>Uma ótima oportunidade para estudantes e profissionais da área de <a class="bbli" href="http://sledge.boo-box.com/list/page/cHVibGljaWRhZGUlMkMrY29tdW5pY2ElRTclRTNvXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-80">comunicação<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>. Afinal nossa região ainda é carente de eventos desse nível.</p>
<p><a href="http://www.comunicavale.com.br">Veja aqui</a> todas as informações sobre data, local e inscrições.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/guerra-dos-browsers-morte-ao-ie6-e-vem-ai-o-rockmelt/' title='Guerra dos browsers. Morte ao IE6 e vem aí o RockMelt'>Guerra dos browsers. Morte ao IE6 e vem aí o RockMelt</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "publicidade";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2010/05/comunicavale-comunicacao-corporativa-no-vale-do-paraiba/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 alpha é lançada</title>
		<link>http://www.juliobitencourt.com/2009/12/jquery-1-4-alpha-e-lancada/</link>
		<comments>http://www.juliobitencourt.com/2009/12/jquery-1-4-alpha-e-lancada/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 22:27:34 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=231</guid>
		<description><![CDATA[Saiu no blog oficial da jQuery o lançamento da versão alpha 1.4
Este é o primeiro alpha release e, segundo o John Resig, o código é estável e passou nos testes em todos os browser suportados pelo framework.
Dentre as novidades da nova versão. A que mais me animou foi o extensão do &#8220;evento&#8221; live para suportar [...]]]></description>
			<content:encoded><![CDATA[<p>Saiu no <a title="jQuery 1.4 alpha released" href="http://blog.jquery.com/2009/12/04/jquery-14-alpha-1-released/" target="_blank">blog oficial</a> da jQuery o lançamento da versão alpha 1.4</p>
<p>Este é o primeiro alpha release e, segundo o John Resig, o código é estável e passou nos testes em todos os browser suportados pelo framework.</p>
<p>Dentre as novidades da nova versão. A que mais me animou foi o extensão do &#8220;evento&#8221; live para suportar <em>submit, change, mouseenter, mouseleave, focus, e blur</em></p>
<p>John Resig <a title="John Resig talks at jQuery conference 2009" href="http://ejohn.org/blog/talks-at-the-2009-jquery-conference/" target="_blank">falou</a> sobre a nova versão na conferência jQuery realizada em Boston, EUA, em Setembro passado. Vejam os slides da apresentação abaixo.</p>
<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTk5NjUzMDc*MDYmcHQ9MTI1OTk2NTMxMjM5MCZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89MWM4MDNhNjMyNDU4NGIwNDgwOThmNTUxNzMwYjU3ZWUmb2Y9MA==.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_2006206" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Recent Changes to jQuery's Internals" href="http://www.slideshare.net/jeresig/recent-changes-to-jquerys-internals">Recent Changes to jQuery&#8217;s Internals</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jquery-internals-09-090916091927-phpapp02&amp;stripped_title=recent-changes-to-jquerys-internals" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=jquery-internals-09-090916091927-phpapp02&amp;stripped_title=recent-changes-to-jquerys-internals" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jeresig">jeresig</a>.</div>
</div>
<p>Agora é só aguardar a versão final em Janeiro!<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li>Este post não tem posts relacionados</li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/12/jquery-1-4-alpha-e-lancada/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google e Bing anunciam busca em tempo real no twitter</title>
		<link>http://www.juliobitencourt.com/2009/10/google-e-bing-anunciam-busca-em-tempo-real-no-twitter/</link>
		<comments>http://www.juliobitencourt.com/2009/10/google-e-bing-anunciam-busca-em-tempo-real-no-twitter/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 00:51:34 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Mercado]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[busca]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=227</guid>
		<description><![CDATA[A busca em tempo real já vinha sendo muito discutida nos últimos meses com o mega sucesso do twitter e seus milhões de updates diários.
Encontrar conteúdo sobre o que está acontecendo neste exato momento, em tempo real! Esta era a meta dos grandes players de busca.
Google e Bing anunciaram ontem, que irão incorporar os &#8220;tuítes&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>A busca em tempo real já vinha sendo muito discutida nos últimos meses com o mega sucesso do twitter e seus milhões de updates diários.</p>
<p>Encontrar conteúdo sobre o que está acontecendo neste exato momento, em tempo real! Esta era a meta dos grandes players de busca.<span id="more-227"></span></p>
<p>Google e Bing anunciaram ontem, que irão incorporar os &#8220;tuítes&#8221; aos seus resultados. O Bing anunciou a <a title="Twitter no Bing" href="http://www.bing.com/community/blogs/search/archive/2009/10/21/bing-is-bringing-twitter-search-to-you.aspx?WT.mc_id=Twiiter_BingTwittersearch" target="_blank">novidade</a> que você pode testar <a title="Resultados de busca do bing em updates do twitter" href="http://www.bing.com/twitter" target="_blank">aqui</a> (somente para usuários com localização nos Estados Unidos). Ainda não achei nada no google para testar, mas você pode ver o anúncio feito no blog deles <a title="Google anuncia que conteúdo do twitter será exibido nos resultados de busca" href="http://googleblog.blogspot.com/2009/10/rt-google-tweets-and-updates-and-search.html" target="_blank">clicando aqui</a>.</p>
<p>Não sou &#8211; ainda &#8211; especialista em SEO, mas espero pra ver o resultado desta novidade. No twitter, o conteúdo tende a ser menos formal. Cheio de gírias, abreviações e conteúdo fora de contexto. Como será a indexação de todo este mundo de informação? É esperar pra ver.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li>Este post não tem posts relacionados</li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "busca";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/google-e-bing-anunciam-busca-em-tempo-real-no-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 dicas para escrever um bom código jQuery</title>
		<link>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 17:19:35 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Produtividade]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=131</guid>
		<description><![CDATA[Recebi este artigo via twitter com 10 dicas muito legais para melhorar o código escrito em jQuery.
Achei interessante criar uma resumo em português com estas 10 dicas. A maioria delas eu passei a utilizar em meus projetos!
1. Use sempre o $(document).ready()
Coloque todo seu código dentro desta função. Isto irá fazer com que seu código jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>Recebi este <a title="Link para o artigo original. Em inglês" href="http://www.myinkblog.com/articles/10-tips-for-writing-better-jquery-code/comment-page-1/#comment-29373" target="_blank">artigo</a> via twitter com 10 dicas muito legais para melhorar o código escrito em jQuery.</p>
<p>Achei interessante criar uma resumo em português com estas 10 dicas. A maioria delas eu passei a utilizar em meus projetos!<span id="more-131"></span></p>
<h3>1. Use sempre o $(document).ready()</h3>
<p>Coloque todo seu código dentro desta função. Isto irá fazer com que seu código jQuery seja executado assim que o DOM for carregado mas antes do conteúdo <strong>(veja a dica 2)</strong>. Isto permite que você atribua funções aos eventos dos elementos. Evitando o uso de onload, onclick entre outros. Ou seja, você não irá interferir na marcação HTML com o javascript.</p>
<h3>2. Use o $(window).load ()</h3>
<p>Embora a maioria dos exemplos sejam colocados dentro de $(document).ready() é melhor evitar colocar tudo dentro dele.</p>
<p>$(document).ready() é muito útil. Mas ele ocorre durante a renderização do documento. Funcionalidades supérfluas como scrolling e drag and drop, etc podem ser colocadas dentro de $(window).load() que é executada após o download completo da página.</p>
<p>A sintaxe é a mesma do $(document).ready()</p>
<h3>3. Carregue somente o que precisa</h3>
<p>Nós programadores somos tentados a escrever todo o código javascript em um mesmo local e usá-lo em todas as páginas, seja em forma de arquivo, ou repetindo o código no velho Ctrl C + Ctrl V. O jQuery leva tempo para vasculhar todo o documento em busca dos elementos. Isto pode causar uma queda no rendimento da aplicação.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'home'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">// Código usado na home</span>
   <span style="color: #009900;">&#125;</span>
   <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'body'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blog'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">// Código usado no blog</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>4. Saiba o que é o método data() e use-o</h3>
<p>Para guardar e utilizar alguns dados você pode utilizar o método data da jQuery.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   <span style="color: #006600; font-style: italic;">// Define o valor</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.myselector'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myfavcolor'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'orange'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #006600; font-style: italic;">// E então. Retorna o valor</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myselector'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'myfavcolor'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Eu escrevi um artigo sobre o método data que você pode ver <a href="http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/">clicando aqui</a></p>
<h3>5. Seletores internos da jQuery</h3>
<p>Conhecer os seletores CSS ajuda muito na hora de escrever código jQuery. Mas os seletores internos também ajudam bastante. Veja os seletores aqui <a href="http://docs.jquery.com/Selectors">http://docs.jquery.com/Selectors</a>.<br />
Por exemplo</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div:contains('hello')&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'background-color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#cc0000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>O código acima deixa vermelha a cor de background de todos os elementos div que contenham a palavra &#8220;hello&#8221;. Você também pode usar</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'input:password'</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>para selecionar todos os campos do tipo password</p>
<h3>6. Crie flags com classes</h3>
<p>Você pode usar &#8220;flags&#8221; para monitorar o que o usuário está fazendo, ou então para verificar quando determinada ação foi feita ou não. A função addClass serve para adicionar uma classe em um elemento. Desta forma você pode verificar posteriormente a existência da classe com a função hasClass</p>
<h3>7. Não chame o mesmo seletor várias vezes</h3>
<p>Ao invés de fazer isto</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Faça isto</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $p.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $p.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Desta forma se armazena o objeto retornado pelo seletor em uma variável para posterior reuso.</p>
<h3>8. Encadeie (quase) tudo</h3>
<p>O encadeamento é muito útil. O mesmo código do exemplo anterior por ser escrito assim</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'color'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'#000000'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'hello'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'paragraph'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeTo</span> <span style="color: #009900;">&#40;</span><span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Tenha cuidado ao utilizar o encadeamento pois pode causar certa lentidão.</p>
<h3>9. Utilize o toggleClass</h3>
<p>Você pode alternar classes de elementos para selecionar seu comportamento. Se sua classe .hidden não mostra nenhum item você pode os tornar visíveis com</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'p.hidden'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>10. Guarde os resultados</h3>
<p>Quando estiver lidando com funções, você pode querer guardar alguns resultados para uso posterior. Uma solução possível é guardar os resultados em objetos com escopo global.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">   <span style="color: #006600; font-style: italic;">// use the window object for instance</span>
   window.$results <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
   one <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>
   two <span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span>
   <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// this is the function, perhaps ran more than once</span>
   <span style="color: #003366; font-weight: bold;">function</span> getResults <span style="color: #009900;">&#40;</span>first<span style="color: #339933;">,</span> second<span style="color: #009900;">&#41;</span>
   <span style="color: #009900;">&#123;</span>
   $results.<span style="color: #660066;">one</span> <span style="color: #339933;">=</span> first<span style="color: #339933;">;</span>
   $results.<span style="color: #660066;">two</span> <span style="color: #339933;">=</span> second<span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
   <span style="color: #006600; font-style: italic;">// run function</span>
   getResults <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'li.blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.red));
   $results.one.hasClass ('</span>blue<span style="color: #3366CC;">'); // true
   $results.two.hasClass ('</span>blue<span style="color: #3366CC;">'); // false
&nbsp;
   // run again
   getResults ($('</span>li.<span style="color: #660066;">red</span><span style="color: #3366CC;">'), $('</span>a.<span style="color: #660066;">blue</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   $results.<span style="color: #660066;">one</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// false</span>
   $results.<span style="color: #660066;">two</span>.<span style="color: #660066;">hasClass</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'blue'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// true</span></pre></td></tr></table></div>

<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/05/corrigir-png-transparente-no-ie-6-com-jquery/' title='Corrigir PNG transparente no IE 6 com jQuery'>Corrigir PNG transparente no IE 6 com jQuery</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "framework";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gerar download de conteúdo no PHP</title>
		<link>http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/</link>
		<comments>http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 10:55:48 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[arquivo]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=215</guid>
		<description><![CDATA[Se você precisa gerar um relatório para download via PHP mas não quer gerar um arquivo de texto no servidor esta é uma dica bem interessante.
Basta adicionar os seguintes headers HTTP e disponibilizar o nome do arquivo que será sugerido no diálogo de downloads do navegador do usuário.
Exemplo:

1
2
3
header&#40;'Content-Type: application/octet-stream'&#41;;
header&#40;'Content-Disposition: attachment; filename=&#34;' . $nome_do_arquivo . '&#34;'&#41;;
echo [...]]]></description>
			<content:encoded><![CDATA[<p>Se você precisa gerar um relatório para download via PHP mas não quer gerar um arquivo de texto no servidor esta é uma dica bem interessante.<span id="more-215"></span></p>
<p>Basta adicionar os seguintes headers HTTP e disponibilizar o nome do arquivo que será sugerido no diálogo de downloads do navegador do usuário.</p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-Type: application/octet-stream'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Content-Disposition: attachment; filename=&quot;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$nome_do_arquivo</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span> <span style="color: #0000ff;">&quot;etc etc etc&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Tudo que você escrever via echo será o conteúdo do arquivo gerado.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "programação";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saiba se uma requisição foi feita via AJAX no PHP</title>
		<link>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/</link>
		<comments>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 02:26:05 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[acessibilidade]]></category>
		<category><![CDATA[progressive enhancement]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=203</guid>
		<description><![CDATA[Você já ouviu falar em Progressive Enhancement? Não?
Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.
A técnica ajax hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.
Mas ajax utiliza javascript, mais precisamente o XMLHttpRequest para acessar [...]]]></description>
			<content:encoded><![CDATA[<p>Você já ouviu falar em <a title="Definição de Progressive Enhancement na Wikipedia" href="http://en.wikipedia.org/wiki/Progressive_enhancement" target="_blank">Progressive Enhancement</a>? Não?</p>
<p>Basicamente, esta técnica consiste em dar aos usuários o acesso básico ao conteúdo. Com ênfase na acessibilidade.<span id="more-203"></span></p>
<p>A técnica <a class="bbli" href="http://sledge.boo-box.com/list/page/YWpheF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-48">ajax<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> hoje é largamente utilizada. Por proporcionar uma ótima experiência de uso e aumentar a velocidade de páginas e aplicações web.</p>
<p>Mas ajax utiliza <a class="bbli" href="http://sledge.boo-box.com/list/page/amF2YXNjcmlwdF8jI19ib3hfIyNfdGFnZ2luZy10b29sLXdwXyMjXw==-56">javascript<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, mais precisamente o XMLHttpRequest para acessar conteúdo de forma assíncrona. Com ajax você pode, por exemplo, criar um formulário de cadastro que não dá refresh na página no ato do submit. Ótimo né? Também acho!</p>
<p>Mas e se o usuário estiver navegando com o javascript desabilitado? Ele não vai poder se cadastrar no seu site?</p>
<p>Para os programadores <a class="bbli" href="http://sledge.boo-box.com/list/page/UEhQXyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-44">PHP<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a>, existe uma técnica para que definir se a requisição foi feita via ajax ou não. Desta forma, você pode dar aos usuários que estão utilizando javascript toda experiência de uso proporcionada pelo ajax. Sem deixar de lado os usuários que não contam com esta possibilidade.</p>
<p>Basta utilizar a variável HTTP chamada HTTP_X_REQUESTED_WITH.</p>
<p>Exemplo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'HTTP_X_REQUESTED_WITH'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'xmlhttprequest'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> É uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #339933;">...</span> Não é uma requisição AJAX <span style="color: #339933;">...</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Este artigo foi baseado no original, em inglês, <a href="http://www.electrictoolbox.com/how-to-tell-ajax-request-php/">http://www.electrictoolbox.com/how-to-tell-ajax-request-php/</a><br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/' title='Gerar download de conteúdo no PHP'>Gerar download de conteúdo no PHP</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "acessibilidade";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Método data() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 02:42:48 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dom]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=185</guid>
		<description><![CDATA[Este é um método que eu vejo pouca gente utilizando
Com ele você pode armazenar informações no formato chave/valor nos elementos do DOM.
Veja a sintaxe:
Define um valor para a chave name
data( name, value)
Retorna o valor da chave name
data( name)
Exemplo:
Digamos que eu queira controlar a exibição de um elemento. Neste caso um div com uma mensagem.
Veja o [...]]]></description>
			<content:encoded><![CDATA[<p>Este é um método que eu vejo pouca gente utilizando</p>
<p>Com ele você pode armazenar informações no formato chave/valor nos elementos do DOM.<span id="more-185"></span></p>
<p>Veja a sintaxe:</p>
<p>Define um valor para a chave <span style="color: #0000ff;">name</span><br />
<span style="color: #0000ff;">data( name, value)</span></p>
<p>Retorna o valor da chave <span style="color: #0000ff;">name</span><br />
<span style="color: #0000ff;">data( name)</span></p>
<h3>Exemplo:</h3>
<p>Digamos que eu queira controlar a exibição de um elemento. Neste caso um div com uma mensagem.</p>
<p>Veja o seguinte código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#link&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">!</span>$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;div#message&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">data</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;visible&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Veja um <a title="Exemplo de funcionamento do método data() da jQuery" href="http://www.juliobitencourt.com/exemplos/metodo_data_da_jquery.html">exemplo</a> aqui</p>
<p>É claro que existem maneiras mais elegantes de verificar se um elemento está visível ou não. Você pode usar a função <a title="Documentação jQuery" href="http://docs.jquery.com/Is"><strong>is()</strong></a> em conjunto com o seletor <a title="Seletor visible jQuery" href="http://docs.jquery.com/Selectors/visible"><strong>:visible</strong></a> por exemplo. Mas este não é o foco deste post e este exemplo serve somente para mostrar o funcionamento do método data().<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/06/estilizando-links-com-seletores-css/' title='Estilizando links com seletores CSS'>Estilizando links com seletores CSS</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Função live() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:36:06 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dom]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=160</guid>
		<description><![CDATA[Uma das coisas que mais me agradam na jQuery é a manipulação de eventos. Para quem não conhece, veja o código a seguir:

$&#40;&#34;td a&#34;&#41;.click&#40;function&#40;&#41;&#123;
	$&#40;this&#41;.closest&#40;&#34;tr&#34;&#41;.children&#40;&#34;td&#34;&#41;.toggleClass&#40;&#34;highlight&#34;&#41;;
	return false;
&#125;&#41;;

Este código vai executar a função passada como parâmetro ao se clicar nos links que estiverem dentro de colunas (veja um exemplo da função closest(), usada no exemplo, clicando aqui).
É bom [...]]]></description>
			<content:encoded><![CDATA[<p>Uma das coisas que mais me agradam na jQuery é a manipulação de eventos. Para quem não conhece, veja o código a seguir:<span id="more-160"></span></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Este código vai executar a função passada como parâmetro ao se clicar nos links que estiverem dentro de colunas (veja um exemplo da função closest(), usada no exemplo, clicando <a title="Link para o artigo sobre a função closest() da jQuery." href="http://www.juliobitencourt.com/exemplos/funcao-closest-da-jquery" target="_self">aqui</a>).</p>
<p>É bom lembrar que o comando <em>return false</em> é usado para que não seja executado o evento padrão do browser que é o direcionamento para o arquivo que esteja no atributo <em>href </em>do link.</p>
<p><strong>Eventos e Manipulação do DOM</strong></p>
<p>Até aqui tudo tranquilo. Mas se sua aplicação manipula o DOM, criando ou excluindo elementos do documento, a manipulação de eventos pode dar trabalho.</p>
<p><a title="Exemplo de criação de elementos no DOM via jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex1.html" target="_blank">Neste exemplo</a> clique no link para criar uma nova linha na tabela e depois clique no link <em>Comprar</em> da nova linha. O evento não irá funcionar. Segue o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>O código que citei acima, criará o evento <em>click</em> nos elementos que estiverem no DOM no momento do carregamento da página. E não irá funcionar para elementos criados de forma dinâmica por sua aplicação.</p>
<p>Até a versão 1.2 da jQuery, tínhamos que usar alternativas para contornar o problema. Eu uso/usava o seguinte código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">unbind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">bind</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a title="Exemplo de uso das funções bind e unbind da jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex2.html">Veja o exemplo</a></p>
<p>Este código exclui o evento click, através da função <strong>unbind</strong>, e recria o evento através da função <strong>bind</strong>. Desta forma evitamos a duplicação do evento para os elementos que já estavam presentes no DOM e recriamos para todos os elementos novamente. Este código gera um processamento desnecessário e possivelmente queda na performance da aplicação.</p>
<p><strong>A função live(type, fn)</strong></p>
<p>Adicionada na versão 1.3 da jQuery, a função live permite que o evento vinculado aos elementos esteja disponível também para os elementos criados no futuro.</p>
<p>A função aceita os seguintes eventos: <em>click, dblclick,  mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress e keyup.</em></p>
<p>Já os eventos <em>blur, focus, mouseenter, mouseleave, change e submit</em> não são suportados. Para mais informações consulte a documentação da função <a title=" Events/live - jQuery JavaScript Library" href="http://docs.jquery.com/Events/live#typefn" target="_blank">http://docs.jquery.com/Events/live#typefn</a>.</p>
<p>Seu uso é simples, veja o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">live</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#cria-linha&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tbody&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">append</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'
&nbsp;
50
Melancia
10,00
&lt;a title=&quot;Comprar&quot; href=&quot;#&quot;&gt;Comprar&lt;/a&gt;
&nbsp;
'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Agora veja o <a title="Exemplo de uso da função live() da jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_live_da_jquery_ex3.html">exemplo</a> em funcionamento.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/' title='Função closest() da jQuery'>Função closest() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/06/estilizando-links-com-seletores-css/' title='Estilizando links com seletores CSS'>Estilizando links com seletores CSS</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Guerra dos browsers. Morte ao IE6 e vem aí o RockMelt</title>
		<link>http://www.juliobitencourt.com/2009/08/guerra-dos-browsers-morte-ao-ie6-e-vem-ai-o-rockmelt/</link>
		<comments>http://www.juliobitencourt.com/2009/08/guerra-dos-browsers-morte-ao-ie6-e-vem-ai-o-rockmelt/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 20:00:13 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[Mercado]]></category>
		<category><![CDATA[Padrões Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[navegadores]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=136</guid>
		<description><![CDATA[Estamos assistindo, nos últimos anos, a segunda guerra dos browsers. A primeira, todos sabem, foi na década passada entre a Microsoft e a Netscape.
Mas agora a briga é outra. Novos competidores entraram na disputa com a antes solitária vencedora Microsoft e seu odiado &#8211; ao menos pela comunidade de desenvolvedores e usuários mais antenados &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Estamos assistindo, nos últimos anos, a segunda guerra dos browsers. A <a title="Guerra dos browsers" href="http://pt.wikipedia.org/wiki/Guerra_dos_navegadores" target="_blank">primeira,</a> todos sabem, foi na década passada entre a Microsoft e a Netscape.</p>
<p>Mas agora a briga é outra. Novos competidores entraram na disputa com a antes solitária vencedora Microsoft e seu odiado &#8211; ao menos pela comunidade de desenvolvedores e usuários mais antenados &#8211; Internet Explorer.<span id="more-136"></span></p>
<p>Entre 1995 e 1999, durante a primeira guerra dos browsers, não existia o Firefox nem o Chrome, do gigante Google. W3C e Padrões Web também não tinham tanta presença na rede, Opera e Safari? Nada disso. A Microsoft reinou absoluta e impôs com sua força de mercado o uso do IE.</p>
<p>Mas um movimento recente vem chamando atenção. Se trata da postura de grandes empresas perante à presença no mercado do arcaico IE6. O Google com o Youtube e o Orkut já deu o aviso de que não dará mais suporte ao IE6. O mesmo fizeram outros grandes sites.</p>
<p>É claro que não é tão simples assim. Decretar a <a title="Tableless - Aonde nos leva a morte do Internet Explorer 6?" href="http://www.tableless.com.br/aonde-nos-leva-a-morte-do-internet-explorer-6" target="_blank">morte de um browser obsoleto</a> é apenas o ínicio do trabalho.</p>
<blockquote><p><strong>Rockmelt.</strong></p></blockquote>
<p>E como já não bastasse todo este barulho no mercado de browsers, vem aí mais um nome de peso. E que nome. Trata-se de Marc Andreessen, criador da Netscape. O mesmo que protagonizou a briga com a Microsoft.</p>
<p>Ao que tudo indica, ele está de volta com o <a title="Rockmelt" href="http://www.rockmelt.com/">Rockmelt</a>, um novo browser que, segundo palavras do próprio Andreesen, está sendo criado do zero. Para uma nova web que passou de páginas estáticas para complexos sites, serviços e aplicativos.</p>
<p>É esperar pra ver!<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2010/05/comunicavale-comunicacao-corporativa-no-vale-do-paraiba/' title='Comunicavale &#8211; Comunicação corporativa no Vale do Paraíba'>Comunicavale &#8211; Comunicação corporativa no Vale do Paraíba</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "browser";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/guerra-dos-browsers-morte-ao-ie6-e-vem-ai-o-rockmelt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Função closest() da jQuery</title>
		<link>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/</link>
		<comments>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 01:55:13 +0000</pubDate>
		<dc:creator>Julio Bitencourt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[dicas]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.juliobitencourt.com/?p=121</guid>
		<description><![CDATA[Introduzida na versão 1.3 do jQuery a função closest() retorna o elemento pai mais próximo encontrado. Conforme o seletor passado no parâmetro. Complicado? Não! Veja o exemplo:
Digamos que ao clicar em um link em determinada linha de uma tabela você queira alterar a cor de fundo de toda a linha.
Segue o código:

$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
	$&#40;&#34;a&#34;&#41;.click&#40;function&#40;&#41;&#123;
		$&#40;this&#41;.closest&#40;&#34;tr&#34;&#41;.children&#40;&#34;td&#34;&#41;.toggleClass&#40;&#34;highlight&#34;&#41;;
		return false;
	&#125;&#41;;
&#125;&#41;;

Na linha 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Introduzida na versão 1.3 do <a class="bbli" href="http://sledge.boo-box.com/list/page/alF1ZXJ5XyMjX2JveF8jI190YWdnaW5nLXRvb2wtd3BfIyNf-48">jQuery<img class="bbic" src="http://boo-box.com/bbli" alt="[bb]" /></a> a função closest() retorna o elemento pai mais próximo encontrado. Conforme o seletor passado no parâmetro. Complicado? Não! <span id="more-121"></span>Veja o exemplo:</p>
<p>Digamos que ao clicar em um link em determinada linha de uma tabela você queira alterar a cor de fundo de toda a linha.</p>
<p>Segue o código:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">closest</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;td&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toggleClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;highlight&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Na linha 2 atribuímos uma função ao evento click dos elementos <strong>a</strong> (links).</p>
<p>Na linha 3 usamos a função <strong>closest()</strong> com o seletor <strong>tr</strong>. Ou seja, buscamos o elemento tr mais próximo ao link que foi clicado que é retornado através do objeto <strong>this</strong>.</p>
<p>Na mesma linha 3 usamos a função <strong>toggleClass</strong> para atribuir à linha a class <strong>highlight</strong>. A função <strong>toggleClass</strong> alterna o atributo class de modo que caso o elemento tenha a classe, a mesma é retirada. E vice-versa.</p>
<p>Reparem que fizemos as chamadas as funções <strong>closest()</strong> e <strong>toggleClass()</strong> de forma encadeada. Ou seja, em sequencia.<br />
Caso tenham dúvidas sobre o encadeamento de funções ou sobre a função <strong>toggleClass</strong>, podem perguntar através dos comentários.</p>
<p>Na linha 4 usamos <strong>return false</strong> para que o evento do clique no link seja cancelado no browser.</p>
<p>Simples assim! <a title="Exemplo de funcionamento da função closest() com jQuery" href="http://www.juliobitencourt.com/exemplos/funcao_closest_da_jquery.html">Clique aqui</a> para ver o exemplo em funcionamento.<br />
<h3 class='related_post_title'>Já que chegou até aqui, que tal ler isto?</h3>
<ul class='related_post'>
<li><a href='http://www.juliobitencourt.com/2009/08/metodo-data-da-jquery/' title='Método data() da jQuery'>Método data() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/08/funcao-live-da-jquery/' title='Função live() da jQuery'>Função live() da jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/10-dicas-para-escrever-um-bom-codigo-jquery/' title='10 dicas para escrever um bom código jQuery'>10 dicas para escrever um bom código jQuery</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/saiba-se-uma-requisicao-foi-feita-via-ajax-no-php/' title='Saiba se uma requisição foi feita via AJAX no PHP'>Saiba se uma requisição foi feita via AJAX no PHP</a></li>
<li><a href='http://www.juliobitencourt.com/2009/10/gerar-download-de-conteud-no-php/' title='Gerar download de conteúdo no PHP'>Gerar download de conteúdo no PHP</a></li>
</ul>


<!-- Begin TwitThis script (http://twitthis.com/) -->
<div style="text-align:left;">
<script type="text/javascript" src="http://s3.chuug.com/chuug.twitthis.scripts/twitthis.js"></script>
<script type="text/javascript">
<!--
document.write('<a href="javascript:;" onclick="TwitThis.pop();"><img src="http://s3.chuug.com/chuug.twitthis.resources/twitthis_grey_72x22.gif" alt="TwitThis" style="border:none;" /></a>');
//-->
</script>
</div>
<!-- /End -->

<!-- boo-widget start -->
					<script type="text/javascript">
					bb_keywords = "html";
					bb_bid  = "";
					bb_lang  = "";
					bb_name = "custom";bb_limit = "7";bb_format = "bbc";</script>
					<script type="text/javascript" src="http://widgets.boo-box.com/javascripts/embed.js"></script>
					<!-- boo-widget end -->]]></content:encoded>
			<wfw:commentRss>http://www.juliobitencourt.com/2009/08/funcao-closest-da-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
