通过在div中使用html注释来显示/隐藏文本

时间:2012-07-12 10:48:54

标签: javascript jquery

如何使用html注释在div中拆分一些文本。 拉特说,我说:

<div id="id1">Some first text <!--more--> here.</div>
<a id=id1>Show/Hide</a>
<div id="id2">Some second text is <!--more--> right here.</div>
<a id=id1>Show/Hide</a>

我不会在<!--more-->之后显示或隐藏文本的jquery或javascript。 感谢

1 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

给定加价:

<div id="id1">Some first text <!--more--> here.</div>
<a>Hide</a>
<div id="id2">Some second text is <!--more--> right here.</div>
<a>Hide</a>​

添加以下javascript:

//1. On page load, wrap text to be hidden in <span>
$(function() {
    $("div").each(function() {
        var html = $(this).html();
        $(this).html(html.replace('<!--more-->', '<span class="hiddenText">', html) + '</span>');
    });

    // 2. Toggle visibility of span tags when clicking link
    $('a').click(function() {
        if ($(this).html() == 'Hide') {
            $(this).prev('div').children('.hiddenText').hide();
            $(this).html('Show');
        } else {
            $(this).prev('div').children('.hiddenText').show();
            $(this).html('Hide');
        }
    });
});

检查我的jsFiddle是否有工作示例。

更新:更新后的解决方案,不依赖于单独的CSS类隐藏/显示文字。