首页 > 解决方案 > 我正在尝试将工具提示添加到代码中的 a 标记,但它会引发错误:无法在字符串上创建属性“位置”

问题描述

function apply_glossary(arr) {

  var res_string = document.querySelector(".show-content").innerHTML;

  arr.forEach(function(e) {

    var tooltip_string = "<a style= 'border-bottom: 2px dotted black; color:inherit; text-decoration:none;' data-toggle='tooltip' data-placement='top'  href='#' id='tooltip-link' data-tooltip='" + e.content + "'>" + e.key + "</a>";

    res_string = replaceAll(res_string, e.key, tooltip_string);
  });

  document.querySelector(".show-content").innerHTML = res_string;
  console.log(res_string);


}

$('[data-toggle="tooltip"]').tooltip();
});

标签: javascriptjqueryhtml

解决方案


您不能通过将 innerHTML 命名为变量来调整它,从而获得它。更改此行:

    var res_string = document.querySelector(".show-content").innerHTML;

对此:

    var res_string = document.querySelector(".show-content");

而这一行:

res_string = replaceAll(res_string, e.key, tooltip_string);

有了这个:

res_string.innerHTML = replaceAll(res_string, e.key, tooltip_string);

推荐阅读