2016-02-25 168 views
0

我在Drupal站点上工作了一个SVG地图(Raphael),出于某种原因,我无法让jQuery影响SVG地图。我想操纵<a>及其子(路径),使用title="skane"值作为锚点。如何使用jQuery选择生成的标题标签?

一个奇怪的是,当在检查员看到生成的拉斐尔代码它说title="skane",但如果我将整个块复制到jsFiddle我得到xlink:title="skane" - 这是怎么回事?

在小提琴中,它似乎正在使用$("a[xlink\\:title=skane]").hide();,但是当我尝试将它合并到我的脚本中时,即使在页面加载后进入控制台时也不会执行任何操作。

如果我指定所有<a>标签与$('a').hide();预期整个地图消失了,让我怎么只能选择<a>title="skane"

Link to jsFiddle example

任何帮助,不胜感激!

回答

0

你试过$("a[title='skane']").hide();

+0

是的,它只是在控制台中用'[]'回来。 – Lenny

0

我找到了这个解决方案。但是我不确定这是否是你需要的。

var parameters = document.getElementsByTagName("a"); 

for (var i = 0; i < parameters.length; i++) { 
    var attribs = parameters[i].attributes; 
    for (var j = 0; j < attribs.length; j++) { 

     if (attribs[j].localName == "xlink:title" && attribs[j].value == "skane") { 
      parameters[i].style.display='none'; 
     } 
    } 
} 

希望它有助于

+0

当你在jsfiddle上使用它的时候,你的解决方案确实有效,但是在活动站点的控制台上运行它却会在控制台中返回undefined,所以似乎在某种程度上会有某种干扰(我没有实际部署代码正确,但我离开我的工作站)。然而,如果我确实得到它的工作,在我看来仍然应该有一个更简单的解决方案(当然不要带走任何东西!) – Lenny