如何通过类名只获取一个 DOM 元素?我猜测按类名获取元素的语法是 getElementsByClassName,但我不确定它将返回多少个元素。
提前致谢。
如何通过类名只获取一个 DOM 元素?我猜测按类名获取元素的语法是 getElementsByClassName,但我不确定它将返回多少个元素。
提前致谢。
document.getElementsByClassName('className')
将始终返回多个元素,因为从概念上讲,类旨在应用于多个元素。如果您只想要具有该类的 DOM 中的第一个元素,则可以从返回的数组中选择第一个元素。
var elements = document.getElementsByClassName('className');
var requiredElement = elements[0];
否则,如果您真的只想选择一个元素。然后您需要使用“id”,因为它在概念上用作网页中唯一元素的标识符。
// HTML
<div id="myElement"></div>
// JS
var requiredElement = document.getElementById('myElement');
说明:
getElementsByClassName 返回一个节点列表而不是一个数组
你不需要jQuery
您正在寻找的可能是document.querySelector
:
如何通过类名只获取一个 DOM 元素?
var firstElementWithClass = document.querySelector('.myclass');
另请参阅:https : //developer.mozilla.org/en/docs/Web/API/Document/querySelector
您可以使用 jQuery:
$('.className').eq(index)
或者您可以使用 javascript 内置方法:
var elements = document.getElementsByClassName('className');
这将返回一个 nodeList 元素,您可以迭代并制作您想要的元素。
如果你只想要一个,你可以像这样访问 javascript 版本中的元素:
elements[index]
致任何正在寻找单衬里的人
var first = getElementsByClassName('test')[0];