|
ЧАСТЬ ВТОРАЯ20. Объект String
|
Метод |
Тэг |
Атрибут |
anchor(имя) |
<a> |
name |
big() |
<big> |
|
blink() |
<blink> |
|
bold() |
<b> |
|
fixed() |
<tt> |
|
fontcolor(цвет) |
<font> |
color |
fontsize(размер) |
<font> |
size |
italics() |
<i> |
|
link(адрес) |
<a> |
href |
small() |
<small> |
|
strike() |
<strike> |
|
sub() |
<sub> |
|
sup() |
<sup> |
|
Все эти методы можно условно разделить на
Метод anchor()
Создаёт из строки «якорь» для гиперссылки.
Синтаксис
строка.anchor(имя)
Аргументы
строка — объект String.
имя — строка, определяющая имя якоря.
Примечание
Обычно используется вместе с методами document.write() и document.writeln()
Пример
var myString = "Оглавление";
document.writeln(myString.anchor("contents"));
Ведёт себя так же, как и следующий HTML-код:
<a name="contents">Оглавление</a>
Метод link()
Создаёт из строки гиперссылку.
Синтаксис
строка.link(адрес)
Аргументы
строка — объект String.
адрес — строка, определяющая URL гиперссылки.
Примечание
Обычно используется вместе с методами document.write() и document.writeln()
Пример
var myString = "Оглавление";
document.writeln(myString.link("contents.html"));
Ведёт себя так же, как и следующий HTML-код:
<a href="contents.html">Оглавление</a>
Примечание автора
Тэг <font> со всеми его причиндалами, то бишь атрибутами, считается (и правильно считается) устаревшим. Вместе с ним устарели и эти методы. Но поскольку они существуют и до сих пор работают, иметь о них представление будет нелишним. На практике же советую применять альтернативные методы для вызова стилей CSS. О них речь впереди.
К методам атрибутов шрифта относятся fontcolor() и fontsize(). Работают они по той же схеме, что и методы гиперссылок.
Синтаксис
строка.fontcolor(цвет) строка.fontsize(размер)
Аргументы
цвет — строку с литералом или шестнадцатеричным кодом цвета шрифта.
размер — число, представляющее один из 7 абсолютных размеров шрифта HTML, или строка, представляющая отностиельный размер шрифта HTML.
Примечания
Аргумент метода fontcolor() — всегда строка, то есть всегда в кавычках. Литералы («словесные» имена) 140 цветов, используемые в JavaScript и HTML, можно посмотреть в таблице-приложении. Шестнадцатеричные значения, наподобие #FF0000 или #000080, тоже заключаются в кавычки.
Аргументы метода fontsize(), представленные строковыми или численными значениями, работают по-разному.
Параметры абсолютных размеров шрифта (от 1 до 7) возможны как в численном, так и в строковом представлении. То есть выражения строка.fontsize(3) и строка.fontsize("3") эквивалентны.
Относительные параметры (с плюсом или минусом) работают только в строковом представлении (в кавычках). Без кавычек они тоже «работают», но неправильно.
строка.fontsize("+2") // увеличивает текущий размер шрифта на 2 позиции строка.fontsize("-2") // уменьшает текущий размер шрифта на 2 позиции строка.fontsize(+2) // задаёт абсолютный размер 2 строка.fontsize(-2) // любое отрицательное значение // задаёт абсолютный размер 1
Оставшиеся методы форматирования соответствуют безатрибутным тэгам. Все соответствия указаны в таблице выше.
Синтаксис у всех этих методов одинаковый. В качестве «болванки» привожу метод big(). Для остальных нужно просто поменять имя метода.
Метод big()
Помещает строку внутрь парного тэга <big></big>.
Синтаксис
строка.big()
Аргумент
строка — объект String.
Примечание
Обычно используется вместе с методами document.write() и document.writeln()
Пример
var myString = "Увеличим этот текст";
document.writeln(myString.big());
Ведёт себя так же, как и следующий HTML-код:
<big>Увеличим этот текст</big>
Хотя методы вроде бы выполняют то же, что и тэги HTML, они не могут полностью заменить эти тэги. Это касается, например, невозможности программного применения к ним стилей CSS.
Предположим, у нас есть такой код HTML:
<big style="color: red;">тест</big>
Попытаемся сделать это через метод big() — например, так:
<script type="text/javascript"> var mystring = "тест" var mybigstring = mystring.big() mybigstring.style.color = "red" document.write(mybigstring) </script>
При запуске скрипта мы получим следующее сообщение: "mybigstring.style" есть null или не является объектом.
Чтобы этот скрипт заработал, нужно, во-первых, строку
mybigstring.style.color = "red"
заменить на
document.getElementsByTagName("big")[0].style.color = "red"
а во-вторых, поставить её в конец скрипта, после метода document.write().
Но об этом — чуть позже, когда будем подробно рассматривать методы документа.
Немного поясню механизм: метод big() создаёт тэг как «обёртку» для заданной строки, то есть в само содержание строки этот тэг не входит. Поэтому, когда мы назначаем стиль на строку, нас не понимают. Метод document.getElementsByTagName(...)[...] обращается непосредственно к тэгу.
НО!
Реальный тэг создаётся методом document.write(). Пока не появился этот метод, тэга нет. Поэтому нас опять же не поймут, если мы раньше времени сошлёмся на несуществующий тэг.
Итак, мы узнали:
как можно и как нельзя форматировать строки с помощью методов JavaScript.