1. ホーム
  2. javascript

[解決済み] IEでclassListを使ったコードが動作しない?

2023-05-15 09:37:40

質問

以下のコードを使用していますが、IEで失敗します。 メッセージは次のとおりです。

プロパティ 'add' の値を取得できません: オブジェクトが NULL または未定義です"。

これは単なる IE サポートの問題だと思います。次のコードを IE で動作させるにはどうしたらよいでしょうか。

何かアイデアはありますか?

var img = new Image();
img.src = '/image/file.png';
img.title = 'this is a title';
img.classList.add("profilePic");
var div = document.createElement("div");
div.classList.add("picWindow");
div.appendChild(img);
content.appendChild(div);

どのように解決するのですか?

この classList プロパティは、IE9以下ではサポートされていません。IE10+ではサポートされていますが。

使用方法 className += " .." と記述します。注:スペースは省略しないでください:クラス名はホワイトスペースで区切られたリストで追加する必要があります。

var img = new Image();
img.src = '/image/file.png';
img.title = 'this is a title';
img.className += " profilePic"; // Add profilePic class to the image

var div = document.createElement("div");
div.className += " picWindow";  // Add picWindow class to the div
div.appendChild(img);
content.appendChild(div);