2012-10-14 64 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