Удаление символов условно с определенной позиции в Javascript

Ваш код 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');

0
задан Dazzile Pro 22 March 2019 в 18:03
поделиться

2 ответа

Я предполагаю, что вы возвращаете данные в виде строки, и вы просто хотите удалить начальные нули только из 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);

0
ответ дан Chris Barr 22 March 2019 в 18:03
поделиться

Вы сказали, что используете 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"). ]

0
ответ дан Matt Johnson 22 March 2019 в 18:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: