質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

3910閲覧

プレーンなjavaScriptでのクラス追加方法 IE7

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/10/20 02:38

javaScriptでクラスを追加したいのですが、IE7でうまくいきません。
どういった記述をすればいいのでしょうか?

以下試した方法

element.clsssList.add('current'); element.setAttribute('class','current'); element.className = 'current';

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

IE7- の setAttributeプロパティのアクセサとして動作するバグがあります。
しかし、className プロパティは通常通り、使えるはずです。

JavaScript

1element.className = 'current'; // className を上書きする (既存値は削除される) 2element.className += ' current'; // className に追加挿入する (既存値も残る)

Re: yukkon さん

投稿2016/10/20 03:04

think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

IEはプロパティ名などが特殊です。
element.setAttribute("className", "current");
でどうでしょうか。

参考:IE における setAttribute() や getAttribute() や removeAttribute() がだめだめな件
http://perl.no-tubo.net/2010/07/01/ie-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B-setattribute-%E3%82%84-getattribute-%E3%82%84-removeattribute-%E3%81%8C%E3%81%A0%E3%82%81%E3%81%A0%E3%82%81%E3%81%AA%E4%BB%B6/

投稿2016/10/20 02:48

t-takayama

総合スコア167

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベタにクラス名の追加をしたいならダブリを避けるために、

  • まず追加したいclass名を削除し
  • すでに何かclassがついていればスペースを開けた上
  • 新しいクラス名を追加

してやってください

javascript

1function addClass(ele,cn){ 2 var reg=new RegExp("(^| +)"+cn+"(?= +|$)"); 3 ele.className=ele.className.replace(reg,""); 4 if(ele.className!=="") ele.className+=" "; 5 ele.className+=cn; 6} 7 8addClass(document.getElementById("hoge"),'current');

投稿2016/10/20 03:32

yambejp

総合スコア114829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問