ホームページ ウェブフロントエンド jsチュートリアル JavaScript_javascript でクラスと ID を変更する方法のヒント

JavaScript_javascript でクラスと ID を変更する方法のヒント

May 16, 2016 pm 06:59 PM
class id javascript

class

ではなく、className です。class は予約キーワードであり、将来 JavaScript が Java などのクラスをサポートし始める可能性があるため、JavaScript は className を使用して class 属性にアクセスすることに注意してください。

スタイル属性について議論する際に、厄介な詳細とブラウザの違いに遭遇しましたが、それは嵐の海を進むようなものでした。クラスと ID の変更は、ブラウザーが調和して暮らす砂漠の静かなオアシスのようなものです。次の例を考えてみましょう:

p {

color: #000000; /* black */

}

p.emphasis {

color: #cc0000; /* red */

}

Test



当初、段落にはクラスが定義されていないため、そのフォントの色黒です。ただし、スタイルを変更するには JavaScript を 1 行記述するだけで十分です。

document.getElementById('test').className = 'emphasis';

すぐにテキストが赤色に変わります。元に戻したい場合は、次のようにすることができます:

document.getElementById('test').className = '';

スタイルが削除され、段落は元に戻ります。デフォルトの p{} ルール。

実際的な例については、「長さ制限のあるテキスト入力エリア」をご覧ください。カウンタの構造とレンダリング スタイルは次のとおりです (構造は JavaScript によって動的に生成されますが、この例には影響しません):

12/1250


div.counter {

font-size: 80%;

padding-left: 10px;

スパン。 toomuch {

font-weight: 600;

color: #cc0000;

}

ユーザーが入力したテキストが最大長に達すると、
のクラスをカウンターとして変更します。
[長さ制限のあるテキスト入力エリア、20 ~ 23 行目]

if (currentLength > maxLength )

this.popularElement.className = 'toomuch';

else

this.popularElement.className = '';
カウンターは太字と赤で変化します。

ID の変更もほぼ同じように機能します:
p {

color: #000000; /* black */

}

p#emphasis {

color: #cc0000; /* red */

}


テスト


ドキュメント.getElementsByTagName('p')[0].id = 'emphasis';

この段落のテキストが再び赤色になります。ただし、ID はあまり変更しないことをお勧めします。これらは CSS フックとして使用されるだけでなく、JavaScript フックとしてもよく使用され、変更すると不特定の副作用が発生する可能性があります。

クラスの追加

通常、要素のクラスに新しい値を設定するのではなく、クラスを追加するだけです。要素がすでに持っているスタイルを削除したくないからです。 CSS では複合スタイルが許可されているため、既存のクラスから CSS ディレクティブを削除せずに、新しいクラスに含まれるスタイルが要素に追加されます。

「フォーム検証」の writeError() 関数とremoveError() 関数が良い例です。グラフィック デザイナーは入力フィールドに 2 つまたは 3 つの幅を使用することが多いため、通常、フォーム フィールドに複数のクラスを適用します。フォームフィールドにエラーが含まれている場合に特別な警告スタイルを追加したいのですが、要素がすでに持っているスタイルを台無しにしたくありません。したがって、古いクラス値を単純に上書きすることはできません。そうすると、指定した幅が失われます。

この状況を見てください:




input.smaller {
width: 75px;

}

input.errorMessage {

border-color: #cc0000;

}

初期状態では、入力ボックスの幅は 75 ピクセルです。スクリプトがクラスを「errorMessage」に設定し、古い値を削除すると、フォーム フィールドに赤い境界線が表示されますが、幅も失われるため、ユーザーは非常に混乱する可能性があります。

したがって、errorMessage クラスを追加しました。

[フォーム検証、105 ~ 106 行目]

function writeError(obj,message) {

obj .className = ' errorMessage';

このコードは、既存の className を取得し、その前にスペースを追加して、その後に新しいクラスを追加します。このスペースは、オブジェクトがすでに持っているクラス値から新しいクラスを分離します。これで、入力ボックスの幅は 75 ピクセルになり、予想通り赤い枠線が表示されました。フォーム フィールドには 2 つのクラスが適用されており、HTML は次のようになります。




空白の Mozilla のクラス名
removeError( ) に気づくかもしれません。 errorMessage クラスの値を削除する場合、先頭にスペースはありません。それはブラウザのバグが原因です。元々値がなかったクラスに errorMessage を追加すると、Mozilla は先頭のスペースを削除します。その後 replace(/ errorMessage/,'') を実行すると、先頭のスペースがなくなって文字列 errorMessage が見つからないため、Mozilla はクラスを削除できません。

クラスの削除

ユーザーがエラーを修正したら、errorMessage クラスの値を削除する必要がありますが、元のクラス (小さいクラスなど) は影響を受けません。 RemoveError() 関数は次の関数を提供します:

[フォーム検証、119 ~ 120 行目]

function RemoveError() {

this.className = this.className. (/errorMessage/,'');

まず要素のクラスを取得し、次に文字列 'errorMessage' を '' (ヌル文字) に置き換えます。 errorMessage は class の値から取得されますが、他の値には影響しません。フォームフィールドの赤い枠線の色は失われますが、幅は 75 ピクセルのままです。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

この Apple ID は iTunes Store でまだ使用されていません: 修正 この Apple ID は iTunes Store でまだ使用されていません: 修正 Jun 10, 2024 pm 05:42 PM

AppleIDを使用してiTunesStoreにログインすると、「このAppleIDはiTunesStoreで使用されていません」というエラーが画面に表示される場合があります。心配するようなエラー メッセージはありません。これらのソリューション セットに従って問題を修正できます。解決策 1 – 配送先住所を変更する iTunes Store にこのプロンプトが表示される主な理由は、AppleID プロファイルに正しい住所がないことです。ステップ 1 – まず、iPhone で iPhone 設定を開きます。ステップ 2 – AppleID は他のすべての設定の最上位にある必要があります。それで、開けてください。ステップ 3 – そこに到達したら、「支払いと配送」オプションを開きます。ステップ 4 – Face ID を使用してアクセスを確認します。ステップ

イベント ビューアでのイベント ID 55、50、98、140 のディスク エラーを修正 イベント ビューアでのイベント ID 55、50、98、140 のディスク エラーを修正 Mar 19, 2024 am 09:43 AM

Windows 11/10 のイベント ビューアーでイベント ID 55、50、140、または 98 が表示された場合、またはディスク ファイル システム構造が破損しているため使用できないというエラーが発生した場合は、次のガイドに従って問題を解決してください。イベント 55、ディスク上のファイル システム構造が壊れていて使用できないとはどういう意味ですか?セッション 55 では、Ntfs ディスク上のファイル システム構造が破損しており、使用できません。ボリューム上で chkMSK ユーティリティを実行してください。NTFS がトランザクション ログにデータを書き込むことができない場合、イベント ID 55 のエラーがトリガーされ、NTFS はトランザクション データを書き込むことができず操作を完了できません。このエラーは通常、ディスク上に不良セクタが存在するか、ディスク サブシステムのファイル システムが不十分なために、ファイル システムが破損した場合に発生します。

Alibaba ID はどこで確認できますか? Alibaba ID はどこで確認できますか? Mar 08, 2024 pm 09:49 PM

Alibaba ソフトウェアでは、アカウントの登録が完了すると、システムによって一意の ID が割り当てられ、これがプラットフォーム上での ID として機能します。しかし、多くのユーザーは自分の ID を照会したいと考えていますが、その方法がわかりません。次に、この Web サイトの編集者が以下の戦略手順を詳しく紹介します。お役に立てれば幸いです。 Alibaba ID: [Alibaba]-[My] に対する答えはどこで見つかりますか。 1. まず Alibaba ソフトウェアを開きます. ホームページに入ったら、右下隅の [My] をクリックする必要があります; 2. その後、My ページにアクセスすると、ページの上部に [id] が表示されます; Alibaba ID はタオバオと同じですか? アリババ ID とタオバオ ID は異なりますが、この 2 つは同じです

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

TencentビデオIDを確認できる場所 TencentビデオIDを確認できる場所 Feb 24, 2024 pm 06:25 PM

Tencent Video ID はどこで確認できますか? Tencent Video APP には専用の ID がありますが、ほとんどのユーザーは Tencent Video ID を確認する方法を知りません。次は、Tencent Video ID を確認する方法についてのグラフィック チュートリアルです。興味のあるユーザーはぜひ見に来てください! Tencent Video 使用チュートリアル Tencent Video ID を確認する場所 1. まず Tencent Video APP を開き、メイン ページの右下隅にある [パーソナル センター] から特別エリアに入ります; 2. 次に、パーソナル センター ページに入り、[設定]機能; 3. 次に、設定ページに移動し、下部の[アカウントを終了]をクリックします; 4. 最後に、以下のページで専用のID番号が表示されます。

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

See all articles