Ваш код getElementById()
работает, поскольку идентификаторы должны быть уникальными, и поэтому функция всегда возвращает ровно один элемент (или null
, если ни один не найден).
Однако getElementsByClassName()
, querySelectorAll()
и другие методы getElementsBy*
возвращают массивный набор элементов. Итерации над ним, как и с реальным массивом:
var elems = document.getElementsByClassName('myElement');
for(var i = 0; i < elems.length; i++) {
elems[i].style.size = '100px';
}
Если вы предпочитаете что-то более короткое, рассмотрите использование jQuery :
$('.myElement').css('size', '100px');
Я предполагаю, что вы возвращаете данные в виде строки, и вы просто хотите удалить начальные нули только из 2-го числа?
мы можем использовать .split
, чтобы разбить строку на части, а затем мы можно использовать parseInt
для преобразования некоторых строковых частей в числа. который превратит строку "03"
в число 3
function removeleadingZerosFromDateString(str) {
//Break up the date string on the slashes and whitespace, so we have an array of all the parts
var parts = str.split(/\/|\s/);
console.log(parts);
//Assign each array item to a variable so we can see what is what
var day = parseInt(parts[0], 10);
var month = parseInt(parts[1], 10);
var year = parts[2];
var time = parts[3];
var meridian = parts[4];
return day+'/'+month+'/'+year+' '+time+' '+meridian;
}
var result = removeleadingZerosFromDateString("21/03/2019 19:18 PM");
console.log(result);
Вы сказали, что используете date-fns, поэтому я дам ответ по этому поводу.
Текущая версия 1.x не поддерживает синтаксический анализ строк в произвольном формате, но они добавляют это в 2.x, и вы можете использовать альфа-релиз, чтобы попробовать его сегодня.
Синтаксис:
var date = parse(dateString, formatString, baseDate, [options]);
См. Документацию по функции parse
в версии 2.0.0-alpha.27
.
В вашем случае это было бы так:
var date = parse("21/03/2019 19:18", "MM/dd/yyyy HH:mm", new Date());
Наконец, если вы хотите использовать библиотеку для этого, но не хотите экспериментировать с альфой, вы можете либо подождать до даты -fns 2.0, чтобы стать финальным, или вы можете попробовать Luxon или Moment - оба из которых уже имеют эту функциональность (хотя Moment использует немного другой формат токенов "MM/DD/YYYY HH:mm"
). ]