This is what I wrote and use:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <style> body{ background-color:#DDD; } span.placeholder { background-color:#FFF; color:#777; border-radius: 4px 4px 4px 4px; margin: 5px 0; padding: 9px 0 8px 13px; width: 297px; } input { border: 1px solid #707A68; border-radius: 4px 4px 4px 4px; margin: 5px 0; padding: 10px; width: 310px; background:transparent; } </style> <body> <div> <input type="text" placeholder="hello" name="hh"/> </div> </body> <script> $('input').each(function(){ var txt = $(this).attr('placeholder'); var name = $(this).attr('name'); var node = $("<span class='placeholder'>"+txt+"</span>").appendTo($(this).parent()); $(this).before(node); node.css('position','absolute'); node.css('z-index','-1'); node.css('display','block'); $(this).attr('placeholder',''); }); $('input').bind('keyup',function(){ if($(this).val()=="") $(this).css('background','transparent'); else $(this).css('background','#FFF'); }); </script>
source share