javascript - 使用纯 javascript 如何在结束标记之前插入 html?
问题描述
我有一个动态生成的 HTML 文章标签列表。一些文章标签有一个名为“特色”的类。我想在结束文章标记之前插入一些 HTML,其中使用纯 JavaScript 将类命名为“特色”。
<article class="list-item featured">
....
</article>
<article class="list-item">
....
</article>
<article class="list-item featured">
....
</article>
<article class="list-item">
....
</article>
我尝试使用类似的东西,但它没有用。我收到一个错误:featuredItem.insertAdjacentHTML 不是函数。我应该使用什么语法来做到这一点?
var featuredItem = document.getElementsByClassName("featured");
featuredItem.insertAdjacentHTML('beforeend','<div class="ribbon-featured"></div>');
解决方案
getElementsByClassName
返回一个类似数组的对象,因此您可以forEach
通过每个具有特色类名称的数组对象:
document.getElementsByClassName("featured").forEach(featuredItem => {
featuredItem.insertAdjacentHTML('beforeend','<div class="ribbon-featured"></div>')
})
推荐阅读
- javascript - 为什么函数不会改变全局值?
- laravel - 所有 Inertia 请求都必须收到有效的 Inertia 响应,但是收到的是纯 JSON 响应
- vue.js - vue.js 2 带有动态模板的单文件组件
- firebase - 将 Firebase 功能分成独立的“包”(不是单独的文件 - 完全独立的包)
- google-ad-manager - 如何在移动设备上隐藏 Google Ad Manager 广告?
- python - 错误:“type”和“int”的实例之间不支持“>=”
- java - 我无法导入 sun.audio
- javascript - 如何为javascript制作单个ID?
- pcre - 后缀 header_checks 无缘无故失败!(不是操作员)
- c# - 在 ASP.NET Core Razor 页面中加载带有数据的选项卡(没有实体框架)