2010-09-13 7 views
4

Hey! Un autre petit problème (n'est-ce pas un bug dans jQuery?).jQuery this() pour textarea?

J'ai un textarea comme ceci:

<textarea>Something</textarea> 

Je veux effacer "Quelque chose" après avoir cliqué sur, donc:

$("textarea").click(function() { 
    $(this).text(""); 
}); 

Ok jusqu'à présent. Il y a des problèmes quand je veux changer le texte « Quelque chose » seulement quand il y a « quelque chose » dans mon textarea:

$("textarea").click(
function() { 
    if ($(this).text() === "Something") { 
     $(this).text(""); 
     } 
}); 

Il fonctionne incroyable pour toutes les entrées différentes, mais pas pour textarea. Et cela fonctionne très bien sans boucle "si", alors qu'est-ce qui se passe ici? :)

Merci beaucoup!

EDIT

Ok, donc voici mon "vrai code":

$(".inp").click(
function(){ 
    if($(this).val() === "Text" || $(this).val() === "Name" || $(this).val() === "Mail" || $(this).val() === "Site") { 
     $(this).val(""); 
    } 
}); 

HTML:

<form> 
<fieldset> 
<input type="text" name="name" class="inp" value="Name" /> <br /> 
<input type="text" name="email" class="inp" value="Mail" /> <br />        <input type="text" name="site" class="inp" value="Site" /> 
<textarea rows="12" name="text" class="inp">Text </textarea> 
</div>  

Il fonctionne pour toutes les entrées, à l'exception textarea.

+1

vous avez un espace entre '' Text' et