Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 我做错了吗?_Jquery_Html_Replacewith - Fatal编程技术网

Jquery 我做错了吗?

Jquery 我做错了吗?,jquery,html,replacewith,Jquery,Html,Replacewith,我一直在学习越来越多关于jQuery的知识,但在这里我陷入了困境 我有一个代码,可以在选中复选框时更改div的颜色,这很好 在此之后,我希望能够更改焦点上文本区域的内容,我尝试了以下方法: //textarea $("textarea").focus(function(){ if ($(this).contains('Skriv valg av headset her')){ $(this).replaceWith(''); });

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

我有一个代码,可以在选中复选框时更改div的颜色,这很好

在此之后,我希望能够更改焦点上文本区域的内容,我尝试了以下方法:

    //textarea
    $("textarea").focus(function(){
        if ($(this).contains('Skriv valg av headset her')){
         $(this).replaceWith('');
    });  
但没有效果。我是否有一些语法错误,或者我采取了错误的方法

.

试试这个:

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

    if ($this.contains('Skriv valg av headset her'))
    {
        $this.val('');
    }
}); 
试试这个:

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

    if ($this.contains('Skriv valg av headset her'))
    {
        $this.val('');
    }
}); 
有函数和选择器,但没有
jQuery.fn.contains
。你在这里寻找我相信:

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

    if(t.val().indexOf('Skriv valg av headset her') !== -1) {
        t.val('');
    }
});
replaceWith
在这里也是错误的-如果这样做有效的话(我认为它不应该这样做,因为它需要DOM元素或HTML文本),它会删除
textarea
元素(最好使用
remove
来完成)

有函数和选择器,但没有
jQuery.fn.包含
。你在这里寻找我相信:

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

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

replaceWith
在这里也是错误的-如果这是可行的(我认为它不应该这样做,因为它需要DOM元素或HTML文本),它会删除
textarea
元素(最好使用
remove
删除)

HTML5输入,而textarea有一个
占位符
属性。如果您准备放弃在较旧的浏览器上使用此文本,它将解决您的问题。@3nigma该语句是一个链接,它将带到@zneak--之前它在我的末尾v中没有显示为链接-strange@zneak:我真的希望我能跳转到HTML5,但我正在使用一个预构建的解决方案,将所有内容重新制作成HTML5将是一项巨大的事业。也许一年左右吧:我很确定支持HTML5的浏览器会很乐意显示占位符,即使文档没有声明为HTML5。如果你还要改变什么,我会很惊讶的。嗯,也许值得一试:)HTML5输入和文本区域有一个
占位符
属性。如果您准备放弃在较旧的浏览器上使用此文本,它将解决您的问题。@3nigma该语句是一个链接,它将带到@zneak--之前它在我的末尾v中没有显示为链接-strange@zneak:我真的希望我能跳转到HTML5,但我正在使用一个预构建的解决方案,将所有内容重新制作成HTML5将是一项巨大的事业。也许一年左右吧:我很确定支持HTML5的浏览器会很乐意显示占位符,即使文档没有声明为HTML5。如果你还要改变什么,我会很惊讶的。好吧,也许值得一试:)不幸的是,它不起作用,另一方面至少jslint现在验证了代码:)一定要查看发布的第一个示例。他们正在使用indexOf,这应该是可行的。不幸的是,它不起作用,另一方面,至少jslint现在验证了代码:)一定要查看发布的第一个示例。他们用的是indexOf,应该可以用。太好了,谢谢:)我想我真的用错了方法。我不知道这是怎么回事,我将学习它:D+1“replacewith”(如果你有正确的.contains语法)会很高兴地删除你的文本框,并用html中的空字符串替换它。太好了,谢谢:)我想我真的走错了方向。我不知道这是如何工作的,我将学习它:D+1“replacewith”(如果你有正确的.contains语法)将非常高兴地删除你的文本框,并用html中的空字符串替换它。