Object.keys(Array.apply(0, Array(3))).map(Number)
Возвращает [0, 1, 2]
. Очень похоже на отличный ответ Игоря Шубина , но с немного меньшим количеством хитрости (и на один символ длиннее).
Array(3) // [undefined × 3]
Создать массив длиной n = 3. К сожалению, этот массив почти бесполезен для нас, поэтому мы должны… Array.apply(0,Array(3)) // [undefined, undefined, undefined]
сделать массив повторяемым. Примечание: null более распространен, так как первый аргумент apply, но короче 0. Object.keys(Array.apply(0,Array(3))) // ['0', '1', '2']
затем получают ключи массива (работает, потому что массивы являются типом, массив - это объект с индексами для ключей. Object.keys(Array.apply(0,Array(3))).map(Number) // [0, 1, 2]
и отображение ключей, преобразование строк в числа. Если вы имеете в виду, что цвет подчеркивания отличается от цвета текста, единственное, что я могу придумать, - это добавить промежуток вокруг ссылки:
<span class='underline'>
<a href="#">this just<br>a test<br>of underline color</a>
</span>
И затем CSS:
span.underline {
color: red;
text-decoration: underline;
}
span.underline a {
color: blue;
text-decoration: none;
}
И вы получаете то, что хотите .
РЕДАКТИРОВАТЬ :
При более подробном тестировании, у меня это не работает в IE. Однако, если вы добавите border-bottom, это на удивление работает во всех браузерах, за исключением того, что IE не ставит границу под последним. Я попытаюсь копнуть немного глубже, чтобы увидеть, есть ли кроссбраузерный способ сделать это ...
Подчеркнутый, будучи текстовым атрибутом, наследует цвет текста. Поэтому я сомневаюсь, что есть способ явно изменить цвет подчеркивания без изменения цвета текста.
Подчеркивание ссылок всегда будет того же цвета, что и текст.
подчеркивание в ссылках делается с использованием стиля css text-decoration, я думаю, что это тот же цвет, что и текст.
если вы установите для text-decoration значение none, тогда добавьте границу -bottom вы можете изменить цвет с помощью стиля цвета границы.