Javascript 更改id为&x27的所有元素;s值
我有一个由php for循环生成的输入按钮 以下是它的输出:Javascript 更改id为&x27的所有元素;s值,javascript,php,jquery,getelementbyid,getelementsbyname,Javascript,Php,Jquery,Getelementbyid,Getelementsbyname,我有一个由php for循环生成的输入按钮 以下是它的输出: <input type="submit" name="submit" id="submit" value="Submit"> <input type="submit" name="submit" id="submit" value="Submit"> <input type="submit" name="submit" id="submit" value="Submit"> <input ty
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
<input type="submit" name="submit" id="submit" value="Submit">
我尝试了getElementsByName
,但根本不起作用:
<script>
var submit_button = document.getElementsByName('submit');
submit_button.value = 'Next';
</script>
var submit_button=document.getElementsByName('submit');
submit_button.value='Next';
如何更改所有输入的值
我想要常规javascript。如果不能使用常规javascript,jquery也可以。ID必须是唯一的,所以请更改它们
您可以使用。因为这会返回一个值,所以可以使用来更改value属性
document.getElementsByName('submit').forEach(函数(ele,idx){
ele.value='Next';
})
ID必须是唯一的,因此请更改它们
您可以使用。因为这会返回一个值,所以可以使用来更改value属性
document.getElementsByName('submit').forEach(函数(ele,idx){
ele.value='Next';
})
您可以像这样使用jquery:
$("#submit").val("Next");
您可以像这样使用jquery:
$("#submit").val("Next");
您可以使用class,而不是@riggsfully建议的那样,因为id是唯一的,所以您可以添加一个类,例如class=“btn”
,在js块中,您可以说:
var x = document.getElementsByClassName("btn");
var x=document.getElementsByClassName(“btn”);
对于(i=0;i而不是使用,您可以使用class,因为id是@riggsfully建议的唯一的,所以您可以添加一个类,例如class=“btn”
,在js块中,您可以说:
var x = document.getElementsByClassName("btn");
var x=document.getElementsByClassName(“btn”);
对于jQuery中的(i=0;i)
$('input[name=submit]').val('Next');
或者在香草JS中:
document.querySelectorAll('input[name=submit]').forEach(function(node){
node.value = 'Next'
});
或者将querySelectorAll放入可重用的实用程序函数中,以将实际调用缩短一点:
function $$(selector, ctx=document){
return Array.from(ctx.querySelectorAll(selector));
}
$$('input[name=submit]').forEach(function(node){
node.value = 'Next';
});
为什么要将其包装到数组中?querySelectorAll
返回一个节点列表,而不是数组,因此它提供了每个节点的forEach
,但它不提供数组所提供的所有其他整洁的小功能,如过滤器
,映射
,切片
等。在jQuery中:
$('input[name=submit]').val('Next');
或者在香草JS中:
document.querySelectorAll('input[name=submit]').forEach(function(node){
node.value = 'Next'
});
或者将querySelectorAll放入可重用的实用程序函数中,以将实际调用缩短一点:
function $$(selector, ctx=document){
return Array.from(ctx.querySelectorAll(selector));
}
$$('input[name=submit]').forEach(function(node){
node.value = 'Next';
});
为什么要将其包装到数组中?querySelectorAll
返回节点列表,而不是数组,因此它提供了每个节点的forEach
,但它没有提供数组所能提供的所有其他整洁的小功能,如过滤器
,映射
,切片
等。一个id应该是唯一的,而getElementById将返回o只有一个元素
相反,您应该在标记上使用class属性,并使用getElementsByClassName获取列表。这将返回一个集合,您可以使用for循环对其进行迭代
for ( element in document.getElementsByClassName("submit") )
element.value = "Next"
id应该是唯一的,getElementById将只返回一个元素
相反,您应该在标记上使用class属性,并使用getElementsByClassName获取列表。这将返回一个集合,您可以使用for循环对其进行迭代
for ( element in document.getElementsByClassName("submit") )
element.value = "Next"
id
在页面上必须是唯一的,或者javascript only-see的最后一个id
在页面上必须是唯一的,或者javascript only-see的最后一个这很好,很短,很简单,但我希望在常规javascript中也是如此。完全同意!;)这很好,很短,很简单,但我希望在常规javascript中也是如此。完全同意!;)