改变多个输入字段的值

changing values of multiple input fields

本文关键字:字段 输入 改变      更新时间:2023-09-26

假设我有一些ID为"div1"、"div2"、"div 3"等的div。

我现在正在做的是:

document.getElementById('#div1').value='something';
document.getElementById('#div2').value='something';
document.getElementById('#div3').value='something';

但如果我有30个div,这会很烦人。我正在尝试使用"for",但它不起作用:

for(var i=1; i<31; i++) {
    document.getElementById('#div'+i).value='something';
}

当我使用.val()函数(jQuery)时,我得到了同样的结果。

在这种情况下,我做错了什么,伙计们?:)

您有一些错误。首先,不要在getElementById()中使用#。第二,div元素没有.value属性,请使用innerHTML。。第三种情况是,您试图通过id访问多个元素,而不是创建一个由所有元素共享的类。代码示例:

HTML:

<div id="div1" class="myDiv"></div>
<div id="div2" class="myDiv"></div>
<div id="div3" class="myDiv"></div>
<div id="div4" class="myDiv"></div>
<div id="div5" class="myDiv"></div>
<div id="div6" class="myDiv"></div>
...

jQuery:(有问题的标签-最简单的例子)

$(function(){
    $('.myDiv').text('something');
});

您可以使用jquery每个函数,但首先需要声明一个要为其赋值的div ID数组。

jQuery.each( [ "one", "two", "three", "four", "five" ], function() {
$('#' + this).text('value');
});

或者正如Yotam所说,你可以上一堂普通课,只写

$('.className').text('value');

你可以做一些简单的事情,比如:

<html>
<head>
    <title>Sample</title>
    <script type="text/javascript">
        function textDiv() {
            var totalDivs = document.getElementsByTagName("div").length 
            for(var i =0; i<totalDivs; i++)
            { 
                document.getElementById("div" + [i]).innerHTML = "Some Thing as a Text"
            }
        }
    </script>
</head>
<body onload="textDiv();">
    <div id="div0"></div>
    <div id="div1"></div>
    <div id="div2"></div>
    <div id="div3"></div>
    <div id="div4"></div>
</body>
</html>