我正在使用 AJAX 获取另一个页面的 HTML DOM,然后将其存储在像这样的变量中
var doc=xhr.responseText;
list=doc.getElementsByClassName("Cname");
由于 HTML 存储在 doc 变量中,我使用它来搜索该类,但它抛出一个错误:
Uncaught TypeError: doc.getElementsByClassName is not a function
如何解决这个问题,即如何使用该变量来搜索存储在其中的类?
最佳答案
您正在申请 getElementsByClassName
在字符串上(xhr.responseText
是一个字符串),它仅适用于 dom 对象,不适用于字符串。
因此,您可以做的是,使用 document.createElement
创建一个临时 dom 元素对象。 包含 HTML 内容并获取其中的元素。
var temp = document.createElement('div');
temp.innerHTML = xhr.responseText;
var list = temp.getElementsByClassName("Cname");
var temp = document.createElement('div');
temp.innerHTML = '<div class="Cname">a</div><div class="Cname1">a</div><div class="Cname">a</div>';
var list = temp.getElementsByClassName("Cname");
console.log(list);
关于javascript - 在 javascript 变量中查找类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38753093/