我遇到了针对由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
的变量中
我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/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 = …