【发布时间】:2014-02-14 15:20:11
【问题描述】:
我有一个生成一组圆圈的 javascript 可视化,其中一些(给定 fileTag 属性值“当前广告”)应该默认可见,其中一些(给定 fileTag 属性值“过去广告”)应该不是。一个示例圆如下所示:
<circle id="986" class="node" style="cursor: pointer; fill: rgb(171, 183, 71); display: block;" title="Title" r="6.345236822911981" fileTags="BRAND, CURRENT ADVERTISING" fileType="Print" fileDescription="Example" cx="833.5761873699519" cy="344.6269837191289">
为此,我使用以下代码:
$( ".node[fileTags*='PAST ADVERTISING']" ).css("display", "none");
$( ".node[fileTags*='CURRENT ADVERTISING']" ).css("display", "inline");
$( ".node:not([fileTags*='ADVERTISING'])" ).css("display", "none");
这在 Firefox、Opera 和 Internet Explorer 中可以正常工作。然而,在 Safari/Chrome 中,所有圆圈都被隐藏(使用上面的代码)或所有圆圈都被显示(如果我用 :not 删除第三行)。
我在代码中做错了什么,还是这是一个 WebKit 错误?如果是后者,对解决方法有什么想法吗?
【问题讨论】:
-
用老式的方式来做怎么样 -> jsfiddle.net/VV6Cf
-
@adeneo - 有时老式的方式是最好的方式。不得不在获取 fileTag 时做一些鬼混(它一直抛出未定义的内容,但这可能是我的环境的一个特性,而不是您的代码的问题) - 但是完成后,您的代码 sn-p 解决了我的问题实际问题。谢谢! :)
标签: javascript jquery jquery-selectors attributes webkit