0

我无法使用 insertAdjacentHTML 在“开始之前”插入 deleteElement,因为 HTMLElement 类型的参数不能分配给 String 类型的参数。

deleteElement 不能作为参数传递给 insertAdjacentHTML,因为它不是类型字符串的 HTMLElement。

const deleteIcon = `
    <clr-icon
        style="color: #0076CE;">
    </clr-icon>
  `;
  const deleteElement = document.createElement('span');
  deleteElement.innerHTML = deleteIcon;
  deleteElement.addEventListener('click', this.onClick.bind(this));

  const controlIndicator = DOMUtils.findLastSibling(this.el.nativeElement, '.x-indicator');

  if (controlIndicator) {
    // Having issue where argument of type HTMLElement is not assignable to parameter of type String
   controlIndicator.insertAdjacentHTML('beforebegin', deleteElement);
 }

我的解决方法是使用 prepend 但这似乎不等同于“beforebegin”语句。

   controlIndicator.prepend(deleteElement);

是否有更好的解决方法,使其等效于以下语句?

   controlIndicator.insertAdjacentHTML('beforebegin', deleteElement); 
4

0 回答 0