首页 > 解决方案 > Javascript 检查 HTML 是否包含数组中的项目

问题描述

我的 javascript 文件中有一个潜在的 html 类列表

var html_list = ["blogrss",
"btnrss",
"buttonsrssfeed",
"copypasteblocker",
"facebook128x128",
"feedicon",
"iconrss",
"instagram128x128",
"jobwidget",
"pinterest128x128",
"pushnotification",
"rss128x128"]

在访问网页时,我想迭代数组,如果网页包含其中一个元素,一个简单的警报将显示页面包含的 html 元素。

标签: javascripthtmlarrays

解决方案


您需要运行一个脚本,该脚本基本上会遍历您的列表并检查DOM是否有匹配项。请记住, aselector可以是tag, class,id等...在您的列表中,所有选择器都将被视为标签选择器,因此您需要提供正确的选择器,其余选择器将就位(#id.class-nametagName):

( () => {
    const elements = [
  "blogrss",
  "btnrss",
  "buttonsrssfeed",
  "copypasteblocker",
  "facebook128x128",
  "feedicon",
  "iconrss",
  "instagram128x128",
  "jobwidget",
  "pinterest128x128",
  "pushnotification",
  "rss128x128"
  ];
  const matchedElements = [];
  elements.forEach( (el) => {
    const match = document.querySelectorAll(el);
    if (match && match.length > 0) {
        matchedElements.push({ elementName: el, matches: match.length });
    }
  });
  alert(`Found ${matchedElements.length}`);
  console.log(matchedElements); // More detailed view of the matches
})();

推荐阅读