javascript - 基于改变ID的Jquery组合功能

标签 javascript jquery

好的,目前我下面的功能正在按预期工作,但我将有 30 多个问题,因此我正在寻找某种类型的方法来循环浏览 ID 或问题。

每个函数中唯一变化的因素是 ID。

// Q1
  $('#pq1').click(function() {
    $("#pq1 span.answer").toggleClass("short-answer");        
    $("#pq1 .expand-btn").text(($("#pq1 .expand-btn").text() == 'Read More') ? 'Read Less' : 'Read More').fadeIn();
  })

// Q2
  $('#pq2').click(function() {
    $("#pq2 span.answer").toggleClass("short-answer");
    $("#pq2 .expand-btn").text(($("#pq2 .expand-btn").text() == 'Read More') ? 'Read Less' : 'Read More').fadeIn();
  })

// Q3
  $('#pq3').click(function() {
    $("#pq3 span.answer").toggleClass("short-answer");
    $("#pq3 .expand-btn").text(($("#pq3 .expand-btn").text() == 'Read More') ? 'Read Less' : 'Read More').fadeIn();
  })

关于如何组合这些功能以便我不需要 30+ 个功能的任何想法都会很有帮助!谢谢。

示例:https://jsfiddle.net/7xb59a01/3/

最佳答案

是的,你应该使用类:

$('.pq').click(function() {
    var $pq = $(this);
    $pq.find("span.answer").toggleClass("short-answer");        
    $pq.find(".expand-btn").text(($pq.find(".expand-btn").text() == 'Read More') ? 'Read Less' : 'Read More').fadeIn();
});

关于javascript - 基于改变ID的Jquery组合功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46346662/

相关文章:

javascript - 是否有使用 jQuery 设置元素类的首选方法

javascript - 使用 jQuery 查找更改的表单元素

javascript - 如何让我的 div 元素移动超过 200px?

javascript - 我尝试使用当前时间更改背景颜色

javascript - 异步函数会阻塞执行

JavaScript setInterval 动画在控制台中创建乱码,但没有错误

javascript - Google Apps Script formatDate 使用用户时区而不是 GMT

javascript - 无法从 angularjs 调用 JavaScript 原型(prototype)函数

javascript - 显示 json 文件中的数据

javascript - 滑动事件未触发