Jquery 更改「;占位符;使用Javascript动态创建HTML5输入元素的属性
我正在尝试使用jQuery动态更新文本字段的HTML5Jquery 更改「;占位符;使用Javascript动态创建HTML5输入元素的属性,jquery,html,placeholder,Jquery,Html,Placeholder,我正在尝试使用jQuery动态更新文本字段的HTML5placeholder属性 $("textarea").attr("placeholder", "New placeholder text"); 从Firebug中,我可以观察到,占位符属性确实在变化。但是在呈现的textarea元素中,它保持不变。有什么建议吗?如果您使用的是Firebug,我可以假设您使用的是Firefox,而Firefox本身还不支持输入字段中的占位符属性 我刚刚在Chrome for Mac上试用过,它支持文本区域
placeholder
属性
$("textarea").attr("placeholder", "New placeholder text");
从Firebug中,我可以观察到,
占位符
属性确实在变化。但是在呈现的textarea
元素中,它保持不变。有什么建议吗?如果您使用的是Firebug,我可以假设您使用的是Firefox,而Firefox本身还不支持输入字段中的占位符属性
我刚刚在Chrome for Mac上试用过,它支持文本区域中的占位符文本(以及通过javascript进行的更改)
2015年更新:有时我会因为这个答案而名声大噪,所以我想澄清一下,这被认为是正确的,因为当时Firefox 3.6不支持占位符属性。然后,第4版增加了支持(“修复了问题”可能不公平),因此OP的代码从那时起就如预期的那样工作。尝试以下方法:
$('#inputTextID').attr("placeholder","placeholder text");
我认为你必须这样做:
$("textarea").val('');
$("textarea").attr("placeholder", "New placeholder text");
这将把Last,First
的文本替换为,这是使用Javascript和Jquery的动态占位符的新文本
一
二
三
函数changeplh(){
调试器;
var sel=document.getElementById(“选择”);
var textbx=document.getElementById(“文本框”);
var indexe=选择的指数;
如果(indexe==0){
$(“#文本框”).attr(“占位符”、“年龄”);
}
如果(indexe==1){
$(“#文本框”).attr(“占位符”、“名称”);
}
}
HTML:
<input type="text" placeholder="entername" id="fname"/>
其他浏览器是如何工作的?对于未来的访问者来说,首先明确价值是什么。Chrome 40.0.2214.93有没有办法从变量设置占位符文本?例如:var$text='abc'$('#id').attr(“占位符”$text)代码>
$("input[placeholder]").attr("placeholder", "This is new text");
<input type="text" id="textbox">
<select id="selection" onchange="changeplh()">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
function changeplh(){
debugger;
var sel = document.getElementById("selection");
var textbx = document.getElementById("textbox");
var indexe = sel.selectedIndex;
if(indexe == 0) {
$("#textbox").attr("placeholder", "age");
}
if(indexe == 1) {
$("#textbox").attr("placeholder", "name");
}
}
<input type="text" placeholder="entername" id="fname"/>
$("#fname").attr("placeholder", "New placeholder text");