更改多个输入字段的值

时间:2013-07-07 15:27:04

标签: javascript jquery

假设我有几个带有“div1”,“div2”,“div3”等ID的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)时,我得到同样的东西。

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

3 个答案:

答案 0 :(得分:2)

你有一些错误。首先,请勿在{{1​​}}中使用#。第二个是getElementById()元素没有div属性,而是使用.value。第三个是你试图通过id访问多个元素而不是创建一个类共享他们所有人。代码示例:

HTML:

innerHTML

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

<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>
...

答案 1 :(得分:0)

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

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

或者如Yotam所说,你可以给一个共同的课,然后写一下

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

答案 2 :(得分:0)

你可以做这样简单的事情:

<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>