Javascript 在Div中使用class和id无效
我已经读到,您可以在Javascript 在Div中使用class和id无效,javascript,html,Javascript,Html,我已经读到,您可以在Div中拥有类和ID,这正是我试图做的,但它似乎不起作用。当页面加载时,它会基于SQL查询创建一个列表。每个文本框都应该有一个唯一的id,并且所有的文本框都应该隐藏,因此我给Div指定了一个通用的类名。返回的HTML看起来正确,但调试器显示: TypeError:undefined不是对象(正在评估) 'document.getElementsByClassName('unknownTextField').style.visibility ='隐藏') window.onl
Div
中拥有类
和ID
,这正是我试图做的,但它似乎不起作用。当页面加载时,它会基于SQL查询创建一个列表。每个文本框都应该有一个唯一的id
,并且所有的文本框都应该隐藏,因此我给Div
指定了一个通用的类名。返回的HTML看起来正确,但调试器显示:
TypeError:undefined不是对象(正在评估)
'document.getElementsByClassName('unknownTextField').style.visibility
='隐藏')
window.onload=函数(){
document.getElementsByClassName('unknownTextField')。style.visibility='hidden';
}
潜水艇
循环$rowNumber在列表中循环
<div class='unknownTextField' id='qualTypeUnknown<?php echo $rowNumber ?>'>
<input type='text' name='unknown<?php echo $qualType ?>'>
</div>
getElementsByClassName()
返回类似数组的对象。使用[]
访问单个元素,如:
document.getElementsByClassName('unknownTextField')[0].style.visibility='hidden'代码>document.getElementsByCassName()返回一个对象集合(基本上是一个数组)。您需要提供这样的索引document.getElementsByCassName('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>
window.onload=函数(){
var elem=document.getElementsByClassName('unknownTextField');
对于(变量i=0;i
函数GetElementsByCassName()
返回一个元素数组。您需要选择一个:
document.getElementsByClassName('unknownTextField')[0].style.visibility = 'hidden';
这将提供对第一个问题的访问。既然您使用jQuery标记了疑问,我将为您提供一个解决方案:
$('.unknownTextField').css('visibility','visible');
这是因为getElementsByClassName
返回一个类似数组的元素对象。您需要对它们进行迭代。尝试访问第一个文件:document.getElementsByClassName('unknownTextField')[0]
。。看:你用jQuery标记了这个问题,为什么不使用它?!虽然,我讨厌这样做,但现在参考id我得到了相同的错误。稍后我将尝试使其中一个可见,并使用$(“#qualTypeUnknown3”)引用Div;但是说找不到id。有什么想法吗?@RichardGriffiths要么没有3个文本框,要么代码有误。我不知道你的服务器脚本是如何工作的。使用web inspector查看textbox元素并查看它们的ID,然后向我解释您在问题中看到的内容:)从web inspector复制的。。。。所以它似乎在那里。很奇怪@RichardGriffiths你从哪里得到元素的id?请确保将该代码放入具有类代码的onload事件侦听器中。:)
$('.unknownTextField').css('visibility','visible');