这不适用于表单字段。
假设我在html中有这个:
<input id="something" value="myvalue">
<input id="somethingelse" value="myvalue">
我有javascript可以做到这一点:
something.value="ME";
somethingelse.value="TOO";
我想操纵DOM,这样当我们检查元素“某事”时它反映了这一点:
<input id="something" value="ME">
如果我在jquery中明确地执行此操作:
$("#something").attr("value",something.value.toString());
但我需要更通用的东西 - 我需要更改每个输入项,以便它的行为如下。
所以我试过了:
$("input").each(function () {
$(this).attr("value", this.value.toString());
})
但它根本没有变化。它不管它。
所以我尝试了这个:
$("input").each(function () {
$(this).attr("value", "NeverA");
})
它也没有改变它。
但我试过
$("input").each(function () {
alert(this.value.toString());
})
它警告每个值 - 所以选择器很好。
我做错了什么?
答案 0 :(得分:1)
简单$("input").attr("value", "NewString")
适合我。您可以将函数作为第二个参数传递,以根据您的需要修改值。
答案 1 :(得分:1)
您可以使用课程来完成此操作:
$(function(){
$("#Goo").click(function(){
$(".test").each(function() {
$(this).val("otherValue");
});
});
});
答案 2 :(得分:1)
Rick在代码中得到了正确的答案 - 虽然我的问题看起来是正确的,但我在jsfiddle中的代码必须有某种未报告的错误,因为它只是不起作用。在里克的小提琴代码中粘贴很好。这是我的答案和更多类型的输入字段。
答案:
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value = "OK">
something.value = "NEVER";
button.value="Not OK";
ANum.value=9342;
$("input").each(function () {
$(this).attr("value", this.value);
})
小提琴:
http://jsfiddle.net/t2nrkeyt/
答案 3 :(得分:0)
它可以更简单。那就做吧
<div id="parentDivID">
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value="OK">
</div>
<script>
$("#parentDivID").find('input').val('');
</script>
答案 4 :(得分:0)
您可以使用选择器访问所有后代
<div id="parentDivID">
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value="OK">
</div>
<script>
$("#parentDivID input").val('');
</script>