使用javascript更改Tippy JS工具提示主题

使用javascript更改Tippy JS工具提示主题,javascript,popper.js,tippyjs,Javascript,Popper.js,Tippyjs,我的页面有一个黑暗和光明的主题 切换颜色主题时,我希望在工具提示主题之间切换 我创建了两个小主题,一个叫做黑暗,另一个叫做光明 我尝试更改HTML属性和tooltip类,希望强制更改主题,但没有效果 这是我的JS: if ($('#dn').is(":checked")) { $('.color-mode').addClass("light-mode"); $('.color-mode').removeClass("dark-mode");

我的页面有一个黑暗和光明的主题

切换颜色主题时,我希望在工具提示主题之间切换

我创建了两个小主题,一个叫做黑暗,另一个叫做光明

我尝试更改HTML属性和tooltip类,希望强制更改主题,但没有效果

这是我的JS:

      if ($('#dn').is(":checked")) {
        $('.color-mode').addClass("light-mode");
        $('.color-mode').removeClass("dark-mode");
        $('.tiptool').attr('data-tippy-theme','light');
        $('.tippy-tooltip').addClass("light-theme");
        $('.tippy-tooltip').removeClass("dark-theme");
      } else {
        $('.color-mode').removeClass("light-mode");
        $('.color-mode').addClass("dark-mode");
        $('.tiptool').attr('data-tippy-theme','dark');
        $('.tippy-tooltip').addClass("dark-theme");
        $('.tippy-tooltip').removeClass("light-theme");
      }
    });

知道它为什么不起作用以及我如何修复它吗?

您需要在Tippy实例上使用
setProps()
方法,更新数据Tippy-*属性将不起作用。您可以从其
\u tippy
属性访问任何元素上的实例:

var-theme=$('#dn')。是否(“:选中”)?“光”:“暗”;
$('.tiptool')。每个(函数(索引,el){
如果(标高){
el._tippy.setProps({theme:theme});
}
})

Im收到以下错误:ui scripts.js?verion=1.9:65未捕获类型错误:el.\u tippy.set不是HTMLSpanElement的函数。(ui scripts.js?verion=1.9:65)在Function.each(jquery-3.3.1.min.js:2)在w.fn.init.each(jquery-3.3.1.min.js:2)在HTMLInputElement。(ui scripts.js?verion=1.9:63)在HTMLInputElement.dispatch(jquery-3.3.1.min.js:2)在HTMLInputElement.y.handle(jquery-3.3.1.min.js:2)在使用最新的Tippy.js吗?查看网站以获取最新版本。v3-v4有
set()
,但没有早期版本