我从角色获取请求中获取了一些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生成的变量有一些麻烦。是否有另一种方法可以做同样的事情或修复我已有的方法?
答案 0 :(得分:2)
请参阅the documentation for parseHTML:
返回:数组
描述:将字符串解析为DOM节点数组。
getElementsByClassName
是DOM元素的方法,而不是数组。您需要循环遍历数组,检查每个值是否为元素(例如,与文本节点或注释相反),然后在值上调用getElementsByClassName
。
或者您可以构建一个jQuery对象并在其上使用.find()
。