3

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

原来的

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

我想在上面更改为

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

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

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

4

2 回答 2

15

您可以使用

.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"); 
    });
于 2012-07-11T12:00:51.873 回答
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/

于 2013-11-29T09:30:29.713 回答