我正在尝试将工具提示添加到独立的 SVG 文件,但它返回以下错误:
TypeError: invalid 'in' operand style
[Break On This Error]
if ( name in style ) {
对于以下 jquery-2.0.0 函数:
// return a css property mapped to a potentially vendor prefixed property
function vendorPropName( style, name ) {
// shortcut for names that are not vendor prefixed
if ( name in style ) {
return name;
}
// check for vendor prefixed names
var capName = name.charAt(0).toUpperCase() + name.slice(1),
origName = name,
i = cssPrefixes.length;
while ( i-- ) {
name = cssPrefixes[ i ] + capName;
if ( name in style ) {
return name;
}
}
return origName;
}
如果我通过 HTML 页面呈现 svg 文件,它工作正常。但我需要它作为纯 SVG 工作,但无法做到这一点。
这是用HTML(有效)和SVG(无效)表示的同一页面。工具提示插件称为 tooltipster(由 Caleb Jacob 开发)。
编辑:似乎问题陈述不正确。这是来自 keith-wood.name 的相关引用:
SVG DOM 与设计 jQuery 的 HTML DOM 不同。特别是,任何可以动画的属性都存储为对象而不是纯字符串。这包括类属性。因此,与类一起使用的 jQuery 函数在 SVG 节点上不起作用。
可以在 Internet 上找到一些对原始 jQuery 版本的修改,试图解决这个问题,但它们反过来不适用于最新版本的 jQuery 插件。
我不确定这是否可以回答问题。