⊗jsPmPrES 481 of 505 menu

Стылізацыя элементаў на JavaScript

Няхай у нас ёсць некалькі абзацаў:

<p>text1</p> <p>text2</p> <p>text3</p>

Давайце перабяром гэтыя абзацы цыклам і ў канец кожнага абзаца дадамо спасылку, па націску на якую тэксту абзаца будзе дадавацца некаторая стылізацыя. Напрыклад, тэкст абзаца будзе становіцца перакрэсленым (гэта робіць CSS уласцівасць text-decoration).

Давайце абмяркуем два нюансы такой задачы.

Па-першае, як ужо абмяркоўвалася ў папярэдніх уроках, не варта мяняць стылі абзацы непасрэдна праз JavaScript - значна зручней будзе навязваць якія-небудзь CSS класы.

Па-другое, пры рэалізацыі такой задачы вас чакае некаторы сюрпрыз. Каб зразумець яго сутнасць, давайце паглядзім на HTML код абзацаў пасля дадання спасылак:

<p>text1<a href="">link</a></p> <p>text2<a href="">link</a></p> <p>text3<a href="">link</a></p>

Уявім цяпер, што па націску на спасылку тэкст абзаца перакрэсліцца. Аднак, спасылка ў даным выпадку таксама з'яўляецца часткай абзаца і таксама перакрэсліцца! Хутчэй за ўсё такі эфект нам не патрэбен. Мы хочам, каб тэкст перакрэсліўся, але спасылка - не.

Для вырашэння праблемы трэба проста абгарнуць тэкст абзаца ў тэг span, вось так:

<p><span>text1</span><a href="">link</a></p> <p><span>text2</span><a href="">link</a></p> <p><span>text3</span><a href="">link</a></p>

Дадзены наступны HTML код:

<p>text1</p> <p>text2</p> <p>text3</p>

Дадайце ў канец кожнага абзаца спасылку, па кліку на якую тэкст абзаца будзе перакрэслівацца (а спасылка - не).

Мадыфікуйце папярэднюю задачу так, каб пасля націску на спасылку гэтая спасылка выдалялася з абзаца (а тэкст абзаца становіўся перакрэсленым).

Дадзена некаторая HTML табліца. Дадайце ў гэтую табліцу яшчэ адну калонку са спасылкай. Па націску на гэтую спасылку шэраг з гэтай спасылкай павінен стаць зялёнага фону.

Мадыфікуйце папярэднюю задачу так, каб першы націск па спасылцы фарбаваў шэраг у зялёны фон, а другі націск адмяняў гэтае дзеянне.

hyessvnlpl