Javascript 获得;document.getElementByClassName不是函数;控制台中的错误
如何修复此错误:“document.getElementByClassName不是函数” 代码如下: HTML:Javascript 获得;document.getElementByClassName不是函数;控制台中的错误,javascript,html,css,wordpress,Javascript,Html,Css,Wordpress,如何修复此错误:“document.getElementByClassName不是函数” 代码如下: HTML: <a href="#" class="filter-btn" onclick="myFunction()" data-filter="opd-list-id-<?php echo $item->ID; ?>" style="background:<?php echo $filter_background_color ?>;color:<?ph
<a href="#" class="filter-btn" onclick="myFunction()" data-filter="opd-list-id-<?php echo $item->ID; ?>" style="background:<?php echo $filter_background_color ?>;color:<?php echo $filter_text_color ?> !important;">
您正在查找
getElementsByClassName
。注意元素上的“s”
function myFunction() {
var elmnt = document.getElementsByClassName("filter-btn");
test.scrollIntoView();
}
用
getElementsByClassName
注意它的复数(元素
)结尾带有“s”,而不是单数(元素
)
同一个类可以添加到多个对象中,因此,按类名选择将返回多个项,而不仅仅是一个项,因此它使用复数形式Elements
,而不是元素,如getElementById()
as id必须是唯一的,而按id选择将只返回一个DOM元素
而且,由于函数getElementsByClassName
返回元素数组elmnt.scrollIntoView()
将不起作用,因此,需要将数组的第一个元素用作
elmnt[0]
因此,您的代码将是
函数myFunction(){
var elmnt=document.getElementsByClassName(“过滤器btn”);
elmnt[0]。scrollIntoView();
}
但是,如果您只想选择一个元素并按如下方式使用,我建议您使用getElementById
(首先将ididgiventheanchore标记
赋予anchore标记)
您正在查找
getElementsByClassName
。注意上面的“s”Elements@Nick立即注意到同样的事情+1如果您有错误消息,那么您应该做的第一件事是搜索该错误,并检查是否已经有针对该问题的问题。如果这个不能帮助你解决问题,那么你应该解释原因。明白了,改成元素,谢谢。但是现在得到以下错误:uncaughttypeerror:elmnt.scrollIntoView不是函数什么错误?你忘记粘贴了吗?看我更新的答案+1.您可能希望将[0]放在elmnt声明的末尾之前;之前没有。scrollIntoView()将只返回一个DOM
DOM表示文档对象模型您是指DomeElement吗
function myFunction() {
var elmnt = document.getElementsByClassName("filter-btn");
test.scrollIntoView();
}
function myFunction() {
var elmnt = document.getElementById("IdGivenToTheAnchoreTag");
elmnt.scrollIntoView();
}