【问题标题】:how to use ip address in xsl如何在xsl中使用IP地址
【发布时间】:2012-10-14 06:50:42
【问题描述】:

我正在使用 xsl 从 xsl 生成 html。我必须在 css 中的类名称中使用 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 标记点时,它可以工作。所以我认为“点”有问题。任何想法让它工作?真的谢谢:)

【问题讨论】:

    标签: jquery xslt


    【解决方案1】:

    仅删除点可能会产生不良后果

    考虑这两个 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
    

    另请注意,您的原始代码是如何使用 AVT (Attribute Value Template) 缩减了两次(从 6 行到 3 行)。

    【讨论】:

    • 是的,你的权利,非常感谢你的有用和善意的帮助:)
    【解决方案2】:

    嘿,伙计,你会像这样转义 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
     });​
    

    【讨论】:

    • 真的很感谢,但我的问题是destinationIp 在xml 文件中,我知道我可以通过'' 访问它,但是我该如何使用反斜杠吗?
    • 非常感谢,但是因为我在 xsl 文件中写入,所以当我写入“\\
    • @user1597122 你能尝试使用我的演示并解决你的问题吗:),我可能很快就要睡觉了,但我会看看。 :))
    • hmmm... 真的很抱歉,我需要编写 xsl,但我在您的演示中找不到位置来编写它。但是当我尝试使用自己的代码(在我的 xsl 文件中)时,错误表明 xsl 标记未关闭。做个好梦:)
    【解决方案3】:

    您可以使用 translate() 函数从字符串中删除点字符。

    例如...

    <xsl:value-of select="translate( destinationIp, '.', '')"/>
    

    参考:

    1. http://zvon.org/xxl/XSLTreference/Output/function_translate.html
    2. (XSLT 1.0)http://www.w3.org/TR/xpath/#function-translate
    3. (XSLT 2.0) http://www.w3.org/TR/xpath-functions/#func-translate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      • 2015-06-22
      • 2016-05-10
      • 1970-01-01
      • 2012-05-27
      相关资源
      最近更新 更多