2016-02-25 153 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