【发布时间】:2017-04-22 07:36:24
【问题描述】:
HTML
<ul class="courseDates">
<li class="dateOne col-sm-2">
{tag_course date 1}
</li>
<li class="dateTwo col-sm-2">
{tag_course date 2}
</li>
<li class="dateThree col-sm-2">
{tag_course date 3}
</li>
<li class="dateFour col-sm-2">
{tag_course date 4}
</li>
<li class="dateFive col-sm-2">
{tag_course date 5}
</li>
</ul>
Javascript
$('.dateOne').each(function() {
var data =jQuery(this).text();
var arr = data.split('-');
jQuery(this).html('<a class="button '+arr[1] + '" href="/training-rego?trainingDate={tag_course date 1}&trainingName={tag_name_nolink}&courseId={tag_itemid}"> <span class="day">'+arr[0] + '</span> <span class="month">'+arr[1] + '</span> <span class="year">'+arr[2] + '</span> </a>');
});
$('.dateTwo').each(function() {
var data =jQuery(this).text();
var arr = data.split('-');
jQuery(this).html('<a class="button '+arr[1] + '" href="/training-rego?trainingDate={tag_course date 2}&trainingName={tag_name_nolink}&courseId={tag_itemid}"> <span class="day">'+arr[0] + '</span> <span class="month">'+arr[1] + '</span> <span class="year">'+arr[2] + '</span> </a>');
});
$('.dateThree').each(function() {
var data =jQuery(this).text();
var arr = data.split('-');
jQuery(this).html('<a class="button '+arr[1] + '" href="/training-rego?trainingDate={tag_course date 3}&trainingName={tag_name_nolink}&courseId={tag_itemid}"> <span class="day">'+arr[0] + '</span> <span class="month">'+arr[1] + '</span> <span class="year">'+arr[2] + '</span> </a>');
});
$('.dateFour').each(function() {
var data =jQuery(this).text();
var arr = data.split('-');
jQuery(this).html('<a class="button '+arr[1] + '" href="/training-rego?trainingDate={tag_course date 4}&trainingName={tag_name_nolink}&courseId={tag_itemid}"> <span class="day">'+arr[0] + '</span> <span class="month">'+arr[1] + '</span> <span class="year">'+arr[2] + '</span> </a>');
});
$('.dateFive').each(function() {
var data =jQuery(this).text();
var arr = data.split('-');
jQuery(this).html('<a class="button '+arr[1] + '" href="/training-rego?trainingDate={tag_course date 5}&trainingName={tag_name_nolink}&courseId={tag_itemid}"> <span class="day">'+arr[0] + '</span> <span class="month">'+arr[1] + '</span> <span class="year">'+arr[2] + '</span> </a>');
});
我需要删除 .each 以便代码对每个项目进行操作,.each 会导致页面上其他项目出现未定义的错误。它需要是单独的,因此它为每组日期输出特定的标签,.each 函数使页面上的最后一项工作,但在第一项上出现未定义的错误。
Here 是一个工作版本,所以你可以检查一下。
有没有更好的方式来写JS?
非常感谢您提供有关此问题的任何帮助,谢谢。
【问题讨论】:
-
{tag_course date 1}被替换了吗?您最好在问题中包含该问题,因为您将被-拆分,并且根本不会出现在本文中。 -
是的,所以页面上可能有5门课程,每门课程都有一个输入课程日期1的字段,然后每门课程都有一个模板,当它在网站前端生成时它为每个人吐出日期。那有意义吗? @Jamiec
-
附注,但尽量保持使用 jQuery 的方式一致,在不需要时使用
$()和jQuery()。 -
@GillesC 是的,我自己拿了 2 个代码并将它们混合在一起,我对 Javascript 不是很好,我知道我想要它做什么,它可能没有那么复杂,但我就是不知道如何正确执行它
标签: javascript jquery each