0

オブジェクト指向の JavaScript の書き方を学んでいます。div 要素を作成する単純なクラスがありますが、コードをテストしても新しい要素は作成されません。私はこれを正しくやっていますか?次のコードを使用しています。

function elementCreation(elementParent, elementId, elementText) {
    this.elementParent = document.getElementsByTagName(elementParent)[0];
    this.elementId = elementId;
    this.elementHtml = elementText;
    this.elementMake = function (type) {
        newElement = document.createElement(type);
        // add new element to the dom
        this.elementParent.appendChild(newElement);
    };
}

var newObject = new elementCreation('body', 'testdiv', 'some text here!!!');
newObject.elementMake('div');
4

3 に答える 3

4

あなたのコードは完璧に動作します。おめでとうございます。

スタイリングなしで空の div を表示することはできません。

ここでスタイリングのデモンストレーションを見てください:

div {
 width:100px;
 height:100px;
 background-color:red;   
}​

構築パラメーターが子要素の構築を目的としている場合は、それらを何らかの用途に使用する必要があることに注意してください。例えば ​​:

function elementCreation(elementParent, elementId, elementText) {
    this.elementParent = document.getElementsByTagName(elementParent)[0];
    this.elementId = elementId;
    this.elementHtml = elementText;
    this.elementMake = function (type) {
        newElement = document.createElement(type);
        // add new element to the dom
        this.elementParent.appendChild(newElement);
        newElement.innerHTML = elementText;
    };
}

デモンストレーション

パラメータを使用しようとはしませんelementId。関数を定義する場合、おそらく複数回呼び出す必要があり、ID は HTML で複数回使用することはできません。

于 2013-01-03T15:42:43.060 に答える
0

div は作成されていますが、コンテンツを 3 番目の引数として設定していませんelementText

    newElement = document.createElement(type);
    newElement.innerHTML = this.elementHtml; // <-- set its content
    newElement.id = this.elementId; // <-- set the ID
    // add new element to the dom
    this.elementParent.appendChild(newElement);
于 2013-01-03T15:46:21.423 に答える