假设我有几个带有“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)时,我得到同样的东西。
在这种情况下我做错了什么,伙计们? :)
答案 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>