javascript - 在 javascript 变量中查找类

标签 javascript html ajax

我正在使用 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/

相关文章:

javascript - jQuery 无法将类添加到动态添加的内容

javascript - Ajax 请求有效,但没有 CSS

javascript - 在 javascript 中使用 fetch 请求 API 时出现 CORS 策略错误

javascript - 自定义 Bootstrap 轮播

html - 我想减少导航栏中一个 flex 元素的宽度

html - 无重复中心 center vs cover

javascript - 在 bootstrap 中垂直定位 .tooltip-inner

javascript - 按字母顺序对多个列表进行排序

javascript - Underscore.js 中的 _() 函数(对象包装器)如何工作?

php - 如何从 parseJSON 数组中获取每个数据