1

我一直在学习越来越多的关于 jQuery 的知识,但在这里我陷入了困境。

我有一个代码可以在单击复选框时更改 div 的颜色,效果很好。

在此之后,我希望能够更改焦点文本区域的内容,我尝试了这个:

    //textarea
    $("textarea").focus(function(){
        if ($(this).contains('Skriv valg av headset her')){
         $(this).replaceWith('');
    });  

但是没有效果。我有一些语法错误还是我采取了错误的方法?

jsFiddle 示例在这里

4

2 回答 2

6

$.contains函数和:contains选择器,但没有jQuery.fn.contains. 你在val这里寻找我相信:

$('textarea').focus(function(){
    var t = $(this);

    if(t.val().indexOf('Skriv valg av headset her') !== -1) {
        t.val('');
    }
});

replaceWith在这里也是错误的——如果它起作用(我不应该相信,因为它需要一个 DOM 元素或 HTML 文本)它会删除该元素(无论如何textarea最好这样做)remove

于 2011-02-23T13:51:41.923 回答
0

试试这个:

//textarea
$("textarea").focus(function(){
    var $this = $(this); // Always cache your selector

    if ($this.contains('Skriv valg av headset her'))
    {
        $this.val('');
    }
}); 
于 2011-02-23T13:50:37.860 回答