href 值为空时隐藏链接文本

发布于 2025-01-07 02:18:50 字数 606 浏览 0 评论 0原文

我需要隐藏链接文本。如果 href 为空,则隐藏链接文本。 XSL 代码使这变得有点复杂。

<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:if test="not(contains(@WEBSITE,'://'))">http://</xsl:if>
        <xsl:value-of select="@WEBSITE" />          
    </xsl:attribute>
    <span class="website">VISIT WEBSITE</span>

因此,如果从 @WEBSITE 获取 href 值的元素不包含 URL,我需要在 Span 类“网站”内隐藏文本。我如何在 jquery 中做到这一点?

$('.website').each(function() { 
    if ($(this).prev(find('a')).text() == '') { 
$(this).hide(); 
    } 
}); 

不工作

I need to hide the Link text. if href is empty, hide the Link Text. The XSL code made this a little complicated.

<xsl:element name="a">
    <xsl:attribute name="href">
        <xsl:if test="not(contains(@WEBSITE,'://'))">http://</xsl:if>
        <xsl:value-of select="@WEBSITE" />          
    </xsl:attribute>
    <span class="website">VISIT WEBSITE</span>

So if the element that gets the href value from @WEBSITE is not containing URL, I need the hide text inside the Span Class'website'. How do i do this in jquery?

$('.website').each(function() { 
    if ($(this).prev(find('a')).text() == '') { 
$(this).hide(); 
    } 
}); 

is not working

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖公主 2025-01-14 02:18:50

只需删除 find 并将 text 替换为 attr 就可以了

$('.website').each(function() { 
    if ($(this).prev('a').attr('href') == '') { 
        $(this).hide(); 
    } 
}); 

http://jsfiddle.net/Y3dPz/

Just remove find and replace text with attr and it should work

$('.website').each(function() { 
    if ($(this).prev('a').attr('href') == '') { 
        $(this).hide(); 
    } 
}); 

http://jsfiddle.net/Y3dPz/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文