来自javascript变量的javascript getElementsByClassName

时间:2014-12-03 11:28:40

标签: javascript jquery

我从角色获取请求中获取了一些HTML,并且我试图从此响应中获取一些特定元素。这是一个包含类" post-holder"的div列表。提取html工作正常,但是提取每个div分别插入有一些麻烦。

这是我尝试的代码:

var firstTag = '<main id="posts">';
var res = data.substring(data.indexOf(firstTag) + firstTag.length, data.indexOf('</main>'));
var html2 = $.parseHTML( res );
var x = html2.getElementsByClassName("post-holder");

最后一行在chrome中给出了以下错误:&#34; TypeError:undefined不是函数&#34;。

我猜测 getElementsByClass 对jquery生成的变量有一些麻烦。是否有另一种方法可以做同样的事情或修复我已有的方法?

1 个答案:

答案 0 :(得分:2)

请参阅the documentation for parseHTML

  

返回:数组

     

描述:将字符串解析为DOM节点数组。

getElementsByClassName是DOM元素的方法,而不是数组。您需要循环遍历数组,检查每个值是否为元素(例如,与文本节点或注释相反),然后在值上调用getElementsByClassName

或者您可以构建一个jQuery对象并在其上使用.find()