我已经读过您class
ID
Div
id
这是我想要做的事情,但它似乎没有用。页面加载时,它会根据SQL查询创建一个列表。每个文本框都应该有一个唯一的Div
,所有这些文本框都应该被隐藏,所以我给<script type="text/javascript">
window.onload = function () {
document.getElementsByClassName('unknownTextField').style.visibility = 'hidden';
}
</script>
一个通用的类名。返回的HTML看起来是正确的,但调试器说:
TypeError:undefined不是对象(评估 'document.getElementsByClassName(' unknownTextField')。style.visibility ='隐藏'')
<div class='unknownTextField' id='qualTypeUnknown<?php echo $rowNumber ?>'>
<input type='text' name='unknown<?php echo $qualType ?>'>
</div>
The Div
循环$ rowNumber循环遍历列表
$(function() {
function random() {
var words = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"
var word = words[Math.floor(Math.random() * words.length)];
var myLength = 8;
for (var i = 0; i < myLength; i++) {
$('#content').append(word + i++);
}
}
$('#button').click(function() {
random();
});
});
谁能看到我做错了什么?
答案 0 :(得分:1)
getElementsByClassName()
返回一个像object.use []
这样的数组来访问各个元素,如:
document.getElementsByClassName('unknownTextField')[0].style.visibility = 'hidden';
答案 1 :(得分:1)
document.getElementsByClassName();
返回一个对象集合(基本上是一个数组)。您需要提供类似此document.getElementsByClassName('className')[0];
的索引。要将代码应用于具有类名的所有元素,您将需要一个类似下面代码的循环。
<script type="text/javascript">
window.onload = function () {
var elem = document.getElementsByClassName('unknownTextField');
for(var i = 0; i < elem.length; i++){
elem[i].style.visibility = 'hidden';
}
}
</script>
答案 2 :(得分:0)
函数getElementsByClassName()
返回一个Elements数组。你需要选择一个:
document.getElementsByClassName('unknownTextField')[0].style.visibility = 'hidden';
这将允许访问第一个。
答案 3 :(得分:0)
由于您使用jQuery标记了问题,我将为您提供一个解决方案:
$('.unknownTextField').css('visibility','visible');