HTML.each JS, вызывающие проблемы с другими классами на странице
<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 1}' заменить на что-то? Вы избавитесь от этого в вопросе, поскольку вы раскалываете '-', и это вообще не отображается в этом тексте. – Jamiec
Да, поэтому на странице может быть 5 курсов, на каждом курсе есть поле для ввода даты курса 1, тогда есть шаблон для каждого курса, когда он создается на переднем конце сайта, он выплевывает дату для каждого один. Имеет ли это смысл? @Jamiec – Jake
Обратите внимание, но старайтесь быть последовательными в том, как вы используете jQuery, вы используете как '$()', так и 'jQuery()', когда это не нужно. – GillesC