javascript - 更改按钮的文本值

标签 javascript jquery html

我的切换有问题。我发现过类似的帖子,但没有一个是我真正理解的。

我希望按钮在单击时将文本更改为“项目信息 -”,并在再次单击时恢复回“项目信息 +”

这是问题(项目信息按钮)-> http://marcuspedersen.com/oyafestivalen.html

代码:

jquery

$('#toggle').click(function() {
    $('#workinfo').slideToggle (300, 'linear'); 
});

按钮

<input type="button" id="toggle" value="Project Info +"/>

最佳答案

我建议:

$('#toggle').click(function(e){
    // you may also want:
    // e.preventDefault();
    // depending what else you're doing, and how you're doing it
    $(this).val(function(i,v){ return v == 'Project Info +' ? 'Project Info -' : 'Project Info +'; });
});

JS Fiddle demo .

顺便说一句,如果您对同一个元素/jQuery 对象执行多个操作,那么明智的做法是缓存该对象,然后将缓存的对象用于将来的操作。

请记住,我在这里使用了 click(),而不是 toggle(),因为后者从 jQuery 1.9 开始已被弃用。

引用文献:

关于javascript - 更改按钮的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14480160/

相关文章:

javascript - 如何使用 jquery $.each() 方法迭代对象文字数组?

javascript - 使用map函数迭代和分组对象

javascript - jquery确认后弹出jquery

html - 显示两种尺寸的图片

javascript - 在 Three.js 渲染上滚动时如何更新 z 值?

javascript - 找不到模块 "serve-static"| JavaScript | Node js

javascript - 如何从所有已检查的表行中获取所有 id?

javascript - 无法在 Javascript 中向 Owl Carousel 动态添加项目

html - "rel"属性

html - 导航栏填充和边框不在栏的 100% 高度