You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改XSL代码片段,仅在有数据时显示内容?

XSL条件渲染:无URL时隐藏链接容器

你的需求完全可以实现,用XSL的<xsl:if>就能轻松搞定,不用复杂的if/else逻辑(因为不需要输出else分支的内容)。

先看你原来的代码:

<div class="announcements__cta">
<a href="{$href1}" class="cta cta--link"><xsl:value-of select="$label1"/></a></div>

修改后的代码如下,加入条件判断:

<xsl:if test="$href1 != '' and $href1">
  <div class="announcements__cta">
    <a href="{$href1}" class="cta cta--link"><xsl:value-of select="$label1"/></a>
  </div>
</xsl:if>

逻辑说明:

  • <xsl:if>的test属性是判断条件:这里同时检查$href1不是空字符串,且变量本身存在(因为你设置了链接为可选,可能存在变量未定义的情况)。
  • 只有当$href1有有效内容时,才会渲染包裹链接的div容器;如果$href1为空或者不存在,这部分代码不会输出任何内容。

如果需要过滤掉全是空白字符的无效URL,可以用更严谨的判断:

<xsl:if test="normalize-space($href1) != ''">
  <div class="announcements__cta">
    <a href="{$href1}" class="cta cta--link"><xsl:value-of select="$label1"/></a>
  </div>
</xsl:if>

normalize-space()会去掉字符串首尾的空白,同时把中间的连续空白换成单个空格,这样即使$href1是一串空格,也会被判定为空,不会渲染容器。

内容的提问来源于stack exchange,提问作者Scott Hallmark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:15:00