Javascript 基于改变ID Jquery组合函数

Javascript 基于改变ID Jquery组合函数,javascript,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

好的,现在我下面的函数工作正常,但我会有超过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+了!谢谢


示例:

是的,您应该使用类:

$('.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();
});

你可以改为使用
class
。这将适用于我试图实现的开始/结束方面。但是,多读/少读的文本不会更改。我在我原来的帖子上面加了一把小提琴,你有没有试着在课堂上改变id?你想问多少问题都行啊,行得通。我只是在ID旁边添加类。