1. ホーム
  2. javascript

[解決済み】element.setAttributeは関数ではありません。

2022-02-18 03:44:13

質問

すでに回答があるようですが、どの回答も私のコードを動作させることはできませんでした。私は以下のようなhtml構造を持っています。

<div class="form">
    <div class="formrow">
        <div class="previewcontainer">
            <object id="preview">
            <object>
        </div>
    </div>
</div>

このようにオブジェクトにdata属性を設定しようとしています。

var link = "http://www.someurl.com";
var preview = document.querySelectorAll ("#preview");
preview.setAttribute("data", link);

しかし、次のようなエラーが発生します。 preview.setAttribute is not a function

解決するには?

またはこちらをご覧ください。

プレ var link = "http://www.someurl.com"; var preview = document.getElementById("preview"); //getElementById instead of querySelectorAll preview.setAttribute("data", link);

必ず要素作成後に実行するか、jQueryのコードを使用してください。

$( document ).ready(function() {
}

"Uncaught TypeError: null のプロパティ 'setAttribute' を読み取れませんでした。

で。LazarusRising-その場合、その要素はまだドキュメントに存在しません。要素が作成された後、例えば load イベントの後や、要素の下にあるスクリプトでコードを実行する必要があります。