我有以下函数,应该获取文档中具有给定类的所有元素:
function getElementByClass(objClass)
{
// This function is similar to 'getElementByID' since there is no inherent function to get an element by it's class
var elements = (ie) ? document.all : document.getElementsByTagName('*');
for (i=0; i<elements.length; i++)
{
alert(elements[i].className);
alert(objClass);
if (elements[i].className==objClass)
{
return elements[i]
}
}
}
当我调用此函数时:
<script type="text/javascript">document.write(getElementByClass('done'));</script>
什么也没发生。是不是函数有问题?
最佳答案
此函数不会获取具有该类名称的所有元素,而是获取一个。您这样调用它的意图是什么? document.write
对于页面上已有的 DOM 元素来说似乎是一件有趣的事情。
我讨厌只说“使用 jquery”...但你可能应该这样做。
除了缺少 ie
声明之外,此函数确实有效。使用它会遇到的一个问题是,如果一个元素上有多个类,则此函数将不起作用。
关于Javascript 隐藏/显示类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864839/