我想用 jQuery 将 value 属性更改为占位符。所以结果会是这样的
原来的
<input type="text" value="Enter name" />
我想在上面更改为
<input type="text" placeholder="Enter name" />
我只找到了更改“”之间的实际文本而不是之前的文本的解决方案。所以replaceWith,replaceAll 似乎不起作用。
有人知道如何解决这个问题吗?
您可以使用
.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");
});
<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);
});