Javascript document.getElementByClassName返回未定义的
当试图获取div的类名或ID时,我正在gettingsJavascript document.getElementByClassName返回未定义的,javascript,jquery,arrays,nodes,nodelist,Javascript,Jquery,Arrays,Nodes,Nodelist,当试图获取div的类名或ID时,我正在gettingsTypeError:“undefined”不是一个函数(正在计算“document.getElementByClassName(“selceted”))。我无法找出原因。数组/节点列表不是空的,它包含来自每个时间线项目的所有数据,并且只有1个选择了类,因此如何仅获取该元素 以下是我目前的代码: if($.inArray(postdate, post_image_dates)){ var posts = $(".timeline-ite
TypeError:“undefined”不是一个函数(正在计算“document.getElementByClassName(“selceted”))
。我无法找出原因。数组/节点列表不是空的,它包含来自每个时间线项目的所有数据,并且只有1个选择了类
,因此如何仅获取该元素
以下是我目前的代码:
if($.inArray(postdate, post_image_dates)){
var posts = $(".timeline-item");
posts.removeClass("selected");
var matchedPost = posts.filter("[data-date='" + postdate + "']");
if(matchedPost.length > 0){
matchedPost.addClass("selected");
var more_post_content = document.createElement('div');
more_post_content.id = 'more_post_content';
var ul = document.createElement('ul');
var li = document.createElement('li');
li.innerHTML = '<a href="#"><img src="' + postdata + '"/></a>';
ul.appendChild(li);
more_post_content.appendChild(ul);
var elementArray;
elementArray = [].slice.call(matchedPost, 0);
console.log(elementArray);
if($.inArray('selected', elementArray)){
var select = document.getElementByClassName("selceted");
}
}
if($.inArray(postdate,post\u image\u dates)){
var posts=$(“.timeline项”);
posts.removeClass(“选定”);
var matchedPost=posts.filter(“[data date='”+postdate+“']”);
如果(matchedPost.length>0){
匹配的Post.addClass(“选定”);
var more_post_content=document.createElement('div');
more_post_content.id='more_post_content';
var ul=document.createElement('ul');
var li=document.createElement('li');
li.innerHTML='';
ul.儿童(li);
更多内容。附加儿童(ul);
变量元素数组;
elementArray=[].slice.call(matchedPost,0);
log(elementArray);
if($.inArray('selected',elementArray)){
var select=document.getElementByClassName(“selceted”);
}
}
尝试将选择的更改为选择的
和getElementByClassName
到getElementsByClassName
,最后的select
变量应该是:
if($.inArray('selected', elementArray)){
var select = document.getElementsByClassName("selected");
}
您需要将getElementByClassName
更改为getElementsByClassName
并且您使用的类名不正确
if($.inArray('selected', elementArray)){
var select = document.getElementsByClassName("selected");
//..............................^................^.........
}
这里有一些拼写错误
document.getElementByClassName("selceted");
改为
document.getElementsByClassName("selected");
语法
elements = document.getElementsByClassName(names); // or:
elements = rootElement.getElementsByClassName(names);
示例
获取具有类'test'
document.getElementsByClassName('test');
没有函数getElementByClassName
。它是getElements。正如名字所说,它不返回单个元素。请注意if($.inArray($.selected',elementArray))
应该是if($.inArray($.inArray($selected',elementArray)>-1)
。如果elementArray
是第一个元素,您的条件将失败。非常感谢!这成功了!!!