javascript - 如何在渐进式披露脚本中切换文本?

标签 javascript jquery

我有一个小的渐进式披露(“文本展开和折叠”),但切换文本没有改变。像这样工作:(我没有写)

$(document).ready(function() {
    $('div.view').hide();
    $('div.slide').toggle(
        function() {
            $(this).siblings('div.view').fadeIn('slow');
        }, 
        function() {
            $(this).siblings('div.view').fadeOut('fast');
            return false;
        }
    );
});

我想动态地将“more...”文本切换字符串更改为“less...”。

最佳答案

您可以使用 .text() 来做到这一点像这样:

$(document).ready(function() {
    $('div.view').hide();
    $('div.slide').toggle(
        function() {
            $(this).text('less...').siblings('div.view').fadeIn('slow');
        }, 
        function() {
            $(this).text('more...').siblings('div.view').fadeOut('fast');
        }
    );
});

坚持使用 this 很重要在切换中,否则您将更改 所有 的文本
<div class="slide">元素,而不仅仅是您正在处理的元素。

关于javascript - 如何在渐进式披露脚本中切换文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543974/

相关文章:

javascript - 绑定(bind)/取消绑定(bind)事件或使用条件(jQuery)更好吗?

javascript - 如何使用jquery在表单文本字段中只允许阿拉伯字符

javascript - 在刷新页面上保留数据

javascript - 编辑内置 Chrome 书签管理器文件夹/子文件夹自动扩展?

javascript - 引用错误: Can't find variable: goToByScroll using CoffeScript

javascript - react + redux + axios : actions not sent to reducers

javascript - jQuery 函数 "on()"在 Firefox 中工作但在 Chrome 中不起作用

javascript - $http.post 上的预加载器(多步骤形式)

javascript - JSCS:运算符(operator)应坚持以下表达

javascript - Uncaught ReferenceError : $ is not defined at iterateId