将值更改为占位符(输入字段)

时间:2012-07-11 11:57:09

标签: jquery replace

我想用jQuery将value属性更改为占位符。所以结果将是这样的

原始

<input type="text" value="Enter name" />

我想改变上面的内容

<input type="text" placeholder="Enter name" />

我只找到了用于更改“”之间的实际文本的解决方案,而不是之前的文本。所以replaceWith,replaceAll似乎不起作用。

有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:14)

您可以使用

.removeAttr('value')删除属性

示例:

$('input[type=text]').removeAttr('value');

并使用

添加新属性

.attr('placeholder','Enter name')

示例:

$('input[type=text]').attr('placeholder','Enter name');

根据rcdmk

的建议

您可以将方法链接起来:

    $('input[type="text"]').each(function() { 
        var $this = $(this); 
        $this.attr("placeholder", $this.attr("value")).removeAttr("value"); 
    });

答案 1 :(得分:0)

<input type="text" id="searchInput" value="enter text...">

var plcehldr = "enter text...";    
$( "#searchInput" ).focusin(function() {
  $(this).removeAttr("value");
});

$( "#searchInput" ).focusout(function() {
   $(this).attr("value",plcehldr);
});

http://jsfiddle.net/ipsjolly/2qutf/14/