使用普通的javascript如何在关闭标签之前插入html?

时间:2018-05-08 18:51:10

标签: javascript

我有一个动态生成的HTML文章标签列表。一些文章标签有一个名为"特色"的类。我想在结束文章标记之前插入一些HTML,其中类名为" features"使用普通的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>');

2 个答案:

答案 0 :(得分:0)

getElementsByClassName返回包含0个或更多元素的类数组对象。您无法在返回元素的上调用insertAdjacentHTML,您需要从集合中选择一个元素来操纵其内容。

答案 1 :(得分:0)

getElementsByClassName返回一个类似数组的对象,因此你可以forEach通过每个数组对象使用精选类名称:

document.getElementsByClassName("featured").forEach(featuredItem => {
  featuredItem.insertAdjacentHTML('beforeend','<div class="ribbon-featured"></div>')
})