2012-10-14 38 views
2

我使用xsl從xsl生成html。我在類的名稱使用的IP地址在CSS這樣的:如何在xsl中使用ip地址

<td><div title="delete" > 
    <xsl:attribute name="class"> 
     delete_link_<xsl:value-of select="destinationIp"/> 
    </xsl:attribute>  
    <img class="row-remover" src="/media/img/remove.png"/> 
</div></td> 

,我有這個jQuery功能:

$('.delete_link_<xsl:value-of select="destinationIp"/>').click(function() { 
     // do some thing here 
}); 

,但因爲有「點」的IP地址,上述代碼不起作用。當我刪除xml文件中的destinationIp標記點時,它可以工作。所以我認爲它有'點'的問題。任何想法,使其工作?真的很感謝:)

回答

2

只要刪除點就可以有不好後果

考慮這兩個IP地址:

13.8.123.4 

138.12.3.4 

當點被刪除,我們得到完全相同的結果在每個兩種情況:

1381234 

我相信你想爲每個IP地址有一個不同的類。如果是這樣,不刪除點,但具有法律性質替換它們:

<td><div title="delete" class="delete_link{translate(destinationIp,'.','_')}"> 
    <img class="row-remover" src="/media/img/remove.png"/> 
</div></td> 

使用此代碼產生了兩個IP地址上面兩個不同的類:

delete_link13_8_123_4 

delete_link138_12_3_4 

待辦事項也,你原來的代碼是如何縮水兩次(從6到3行)通過使用AVT(Attribute Value Template)。

+0

是的,你的權利,非常感謝你的有用和善良的幫助:) – user1597122

+0

@ user1597122,不客氣。 –

1

嘿男人你會逃脫這樣的ip地址:在每個特殊字符之前使用\\,這將做的伎倆。

工作演示http://jsfiddle.net/gubfj/

樣本每個特殊字符前

127\\.0\\.0\\.1

https://groups.google.com/forum/?fromgroups#!topic/jquery-en/ugchaJObJFo

使用兩個反斜槓。

jQuery選擇器中的反斜槓會轉義下一個字符。但是你的 需要其中兩個,因爲反斜槓也是 JavaScript字符串的轉義字符。第一個反斜槓轉義第二個,給 一個實際的反斜槓在你的字符串中 - 然後跳過下一個 字符爲jQuery。

希望這符合事業:)

代碼

$('.delete127\\.0\\.0\\.1').click(function() { 
    alert("you click ==> " + $(this).html()); 
     // do some thing here 
});​ 
+0

非常感謝,但我的問題是destinationIp是在xml文件中,我知道我可以通過''來訪問它,但是如何在其中使用反斜槓? – user1597122

+1

@ user1597122 hiya man':)'這樣嗎? http://jsfiddle.net/TWfqD/ –

+0

非常感謝,但因爲我在xsl文件中編寫,當我編寫「\\ user1597122