Я не имею никакого контроля над HTML в этом проекте, поэтому все должно быть сделано с помощью JavaScript/Jquery.
У меня есть несколько страниц с сервера. В некоторых из этих таблиц есть нижние колонтитулы со сносками. Первый символ этих сносок — либо *, либо †
Иногда на странице будет несколько таблиц.
Я не могу использовать :: first-letter, потому что он выбирает символ И первую букву. Мне нужно, чтобы отступы были только справа от символа
Мне нужно добавить отступ справа от этих символов, чтобы отделить их от текста.
Я успешно смог получить символы. Как вы можете видеть из моего кода, я выбираю класс, нахожу промежутки в классе, получаю текст и преобразовываю их в подстроки. Затем я получаю первый символ каждого из них, и когда я вижу в console.log свои результаты, я вижу символы. Сейчас я пытаюсь обернуть их в промежуток с помощью некоторого встроенного стиля, но я получаю «jquery-2.1.4.min.js: 3 Uncaught DOMException: Не удалось выполнить ‘insertBefore’ на ‘Node’: только один элемент в документе разрешен. » ошибка.
HTML-код генерируется в документах xsl, но здесь нижний колонтитул таблицы взят из инспектора:
У меня есть строка, и мне нужно получить ее первый символ.
Как я могу исправить свой код?
В JavaScript вы можете сделать это:
Вы можете использовать любой из них.
Между ними есть небольшая разница. Так что будьте осторожны при использовании его в условном выражении.
Метод charAt() позволяет указать позицию требуемого символа.
То, что вы пытались сделать, это получить символ в позиции массива «x», который не определяется как X не является массивом.
Пример всего метода
Я добавил расчет времени, между ними нет большой разницы, самый длинный расчет всегда выполняется первым.
Первый: string.charAt(index)
Вернуть символ по индексу index
Второе: string.substring(start,length);
Вернуть подстроку в строке, которая начинается с start индекса и заканчивается после длины length
Здесь вам нужен только первый символ, поэтому: start = 0 и length = 1
Альтернатива: string[index]
Строка — это массив символов. Таким образом, вы можете получить первый символ, например, первую ячейку массива.
Вернуть символ в индексном index строки
Когда пишешь JavaScript, очень часто приходится лазить по интернету в поисках информации о синтаксисе и параметрах для методов, работающих со строками.
Я прочитал множество статей по работе со строками. В данном посте будет показаны примеры и краткие описания наиболее распространенных методов по работе со строками. Я попытался поставить самые частые методы в верхней части для быстрого ознакомления.
Конечно, большинство опытных разработчиков уже достаточно знакомы со многими из методов, но я думаю, что это хороший список для начинающих, чтобы понимать спектр методов, которые могут помочь выполнить сложные операции простыми средствами.
Содержание
- Конвертирование в String
- Разделение строки в подстроки
- Получение длины строки
- Поиск подстроки в строке
- Замена подстроки
- Получить символ по заданной позиции в строке
- Соединение строк
- Извлечение подстроки
- Перевод строки в верхний или нижний регистр.
- Pattern Matching
- Сравнение двух строк для сортировки
Конвертирование в String
Вы можете конвертировать число, булево выражение или объект в строку:
Вы можете сделать это так же с помощью String():
Если вы не уверены, что значение не является null или undefined, вы можете использовать String(), которая всегда возвращает строку, независимо от типа значения.
Разделение строки в подстроки
Чтобы разделить строки в массив подстрок, вы можете использовать метод split():
Как видно в последней строке, второй параметр функции — это лимит количества элементов, которое будет в итоговом массиве.
Получение длины строки
Чтобы найти, сколько символов в строки, мы используем свойство length:
Поиск подстроки в строке
Есть два метода для поиска подстроки:
Использование indexOf():
indexOf() метод начинает поиск подстроки с начала строки, и возвращает позицию начала первого вхождения подстроки. В данном случае — 7 позиция.
Использование lastIndexOf():
Метод возвращает начальную позицию последнего вхождения подстроки в строку.
В обоих методах, если подстрока не найдена, возвращается значение -1, и оба принимают необязательный второй аргумент, указывающий положение в строке, где вы хотите начать поиск. Таким образом, если второй аргумент «5», indexOf() начинает поиск с 5 символа, игнорируя символы 0-4, в то время как lastIndexOf() начинает поиск с символа 5 и идет в обратном направлении, игнорируя символы 6 и дальше.
Замена подстроки
Чтобы заменить вхождение подстроки в строке на другую подстроку, вы можете использовать replace():
Первый аргумент — то, что вы хотите заменить и второй аргумент — новая строка. Функция заменяет только первое вхождение подстроки в строку.
Чтобы заменить все вхождения, нужно использовать регулярное выражение с глобальным флагом:
Второй аргумент может включать специальный шаблон или функцию. Подробней можно почитать здесь.
Получить символ по заданной позиции в строке
Получить символ мы можем с помощью функции charAt():
Как часто бывает в JavaScript, первая позиция в строке начинается с 0, а не с 1.
В качестве альтернативной функции можно использовать charCodeAt() функцию, которая код символа.
Заметьте, что код для символа «F» (11 позиция) другой, нежели у символа «f» (позиция 7).
Соединение строк
В большинстве случаем, чтобы соединить строки, можно использовать оператор «+». Но так же можно использовать метод concat():
Таким способом мы можем соединить множество строк в одну в том порядке, в котором они записаны:
Извлечение подстроки
Есть 3 способа получения строки из части другой строки:
Используя slice():
Используя substring():
В обеих функция первый параметр — символ, с которого начинает подстрока (начиная с 0 позиции) и второй аргумент (необязательный) — позиция символа, до которого возвращается подстрока. В примере (5, 10) возвращается строка между позицией 5 и 9.
Используя substr():
Перевод строки в верхний или нижний регистр.
Другие 2 переводят строку в нижний регистр:
Лучше использовать «locale» методы, т.к. в разных местах, например, в Турции отображение регистров работает не совсем так, как мы привыкли и поэтому результат может быть тот, который мы хотели. Если использовать «locale» методы, то таких проблем не будет.
Pattern Matching
Соответствие по шаблону в строке может быть использовано с помощью 2-х методов, которые работают по-разному.
Метод match() применяется к строке и он принимает в качестве параметра регулярное выражение:
Метод exec() применяется к объекту регулярного выражения и принимает в качестве параметра строку:
В обоих методах возвращается лишь первое совпадение. Если совпадений не было — возвращается null.
Так же можно использовать метод search(), который принимает регулярное выражение и возвращает позицию первого совпадения по шаблону:
Если совпадений не было — возращается «-1«.
Сравнение двух строк для сортировки
Вы можете сравнить 2 строки, чтобы определить, какая их них идет первая по алфавиту. Для этого воспользуемся методом localeCompare(), который возвращает 3 возможных значения:
Как было показано выше, отрицательное число возвращается, если строковый аргумент идет после исходной строки. Положительное число, если строковый аргумент идет раньше исходной строки. Если вернулся 0 — значит строки равны.
Для проверки возвращаемого значения лучше использовать if ( result Автор статьи: Alex. Категория: JavaScript
Дата публикации: 19.03.2013
Источник: