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