如何在JQuery中重复相同的代码段,每个代码段附加不同的编号? - javascript

我遇到了针对由PHP代码动态创建的元素的问题。我想做的是toggle()元素。这是针对数据库中最新职位空缺的新闻提要。

我做到了,但是通过手动编写jQuery代码来定位元素的方式实际上效率很低:

  $('#clickMe1').click(function(event){
    event.preventDefault();
    $('#targetCollapse1').toggle();
    if ($('#targetCollapse1').is(":visible"))
    {
      $('#change-icon1').removeClass('fa-plus').addClass('fa-minus');
    }
    else
    {
      $('#change-icon1').addClass('fa-plus').removeClass('fa-minus');
    }
  });
  $('#clickMe2').click(function(event){
    event.preventDefault();
    $('#targetCollapse2').toggle();
    if ($('#targetCollapse2').is(":visible"))
    {
      $('#change-icon2').removeClass('fa-plus').addClass('fa-minus');
    }
    else
    {
      $('#change-icon2').addClass('fa-plus').removeClass('fa-minus');
    }
  });

如何仅编写此代码的一部分并申请1-5的数字。我尝试在for循环中制作,但仍然没有成功??

这是html / php代码,以查看发生了什么。顺便说一下,我正在使用CodeIgniter和解析类,所以{vacancies} {/ vacancies}是一个for循环

<ul class="vacancies">
  {vacancies}
    <a href="#" id="clickMe{num}">
    <li>
      <i class="fa fa-plus" id="change-icon{num}"></i><i class="fa fa-code"></i><span class="job-title">{job_title}</span>
      <span class="job-pubdate">{pubdate}</span>
      <div class="description" id="targetCollapse{num}">{job_descr}</div>
    </li>
    </a>
  {/vacancies}
</ul>

参考方案

试试这个:

 $('[id^=clickMe]').click(function(event){
    event.preventDefault();
    var number=$(this).attr('id').substr($(this).attr('id').length-1); //get the number at the end of the id
    $('#targetCollapse'+number).toggle();
    if ($('#targetCollapse'+number).is(":visible"))
    {
      $('#change-icon'+number).removeClass('fa-plus').addClass('fa-minus');
    }
    else
    {
      $('#change-icon'+number).addClass('fa-plus').removeClass('fa-minus');
    }
  });

更新:

如我所说,此行var number=$(this).attr('id').substr($(this).attr('id').length-1);获取被单击元素的id属性,然后获取其最后一个字符(使用substr())并将其存储在名为number的变量中

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

C#中嵌套引号的可能级别是什么? - javascript

我试图直接在ASP.NET网页上编写Javascript变量赋值代码。Response.Write("<script>itHtml = '"); Response.Write("<div id=\"pop_ctrl\">Select</div><ul id=…

在JavaScript函数中转义引号 - javascript

我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论了类似的问题,但我无法解决。在php中,我这样编码:if ($choice == 1) { $img = '<img src = "../folder/'.$_SESSION["img"].'�…

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …