Javascript Svg is:visible始终返回true,即使祖先被隐藏

Javascript Svg is:visible始终返回true,即使祖先被隐藏,javascript,jquery,svg,Javascript,Jquery,Svg,我正在设置一个选项卡,需要在容器元素上设置display none,根据这个-is.(:visible”)如果一个祖先是隐藏的,那么应该返回false,对吗?所以这应该返回false $('svg').each(function (i) { console.log("Doesn't work! - " + $(this).is(":visible")); }); 这里有一把小提琴来演示这个问题,它在Safari/Chrome中似乎运行良好。经过一些研究,我发现SVG的“隐藏”选择器坏

我正在设置一个选项卡,需要在容器元素上设置display none,根据这个-is.(:visible”)如果一个祖先是隐藏的,那么应该返回false,对吗?所以这应该返回false

$('svg').each(function (i) {
    console.log("Doesn't work! - " + $(this).is(":visible"));
});


这里有一把小提琴来演示这个问题,它在Safari/Chrome中似乎运行良好。

经过一些研究,我发现SVG的“隐藏”选择器坏掉了,这是一个已知的firefox bug。。。而且不会被修复:-关于IE,几乎可以肯定是一样的。

如果它工作正常,有什么问题吗?Safari和Chrome并不是唯一的浏览器。那么问题出在哪里呢?请检查标题名称,对于svg,它总是返回true,即使祖先被隐藏。Firefox和IEAAAAAAH似乎就是这样,这才是真正的问题!你在FF和IE中有问题。你为什么不早点说:)我们不得不猜这个问题。发现了一些东西,我把它作为一个答案发布。