我正在使用AJAX获取另一个页面的HTML DOM,然后将其存储在这样的变量中
var doc=xhr.responseText;
list=doc.getElementsByClassName("Cname");
由于HTML存储在doc变量中,我使用它来搜索该类,但是它引发了一个错误:
Uncaught TypeError: doc.getElementsByClassName is not a function
如何解决这个问题,即如何使用该变量来搜索存储在其中的类?
答案 0 :(得分:2)
您在字符串上应用 getElementsByClassName
(xhr.responseText
是一个字符串)它只适用于dom对象而不是字符串。
所以你可以做的是,使用带有HTML内容的 document.createElement
创建一个临时的dom元素对象,并在里面获取元素。
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);