jQuery Toggle Text?

后端 未结 20 968
日久生厌
日久生厌 2020-12-02 05:52

How to toggle HTML text of an anchor tag using jQuery? I want an anchor that when clicked the text alternates between Show Background & Show Text

20条回答
  •  再見小時候
    2020-12-02 06:16

    I've written my own little extension for toggleText. It may come in handy.

    Fiddle: https://jsfiddle.net/b5u14L5o/

    jQuery Extension:

    jQuery.fn.extend({
        toggleText: function(stateOne, stateTwo) {
            return this.each(function() {
                stateTwo = stateTwo || '';
                $(this).text() !== stateTwo && stateOne ? $(this).text(stateTwo)
                                                        : $(this).text(stateOne);
            });  
        }
    });
    

    Usage:

    ...
    
    ...
    //------- BEGIN e.g. 1 -------
    //Initial button text is: 'Unknown'
    $('button').on('click', function() {
        $(this).toggleText('Show', 'Hide'); // Hide, Show, Hide ... and so on.
    });
    //------- END e.g. 1 -------
    
    //------- BEGIN e.g. 2 -------
    //Initial button text is: 'Unknown'
    $('button').on('click', function() {
        $(this).toggleText('Unknown', 'Hide'); // Hide, Unknown, Hide ...
    });
    //------- END e.g. 2 -------
    
    //------- BEGIN e.g. 3 -------
    //Initial button text is: 'Unknown'
    $('button').on('click', function() {
        $(this).toggleText(); // Unknown, Unknown, Unknown ...
    });
    //------- END e.g.3 -------
    
    //------- BEGIN e.g.4 -------
    //Initial button text is: 'Unknown'
    $('button').on('click', function() {
        $(this).toggleText('Show'); // '', Show, '' ...
    });
    //------- END e.g.4 -------
    

提交回复
热议问题