2

カスタムオブジェクトを作成し、それに属性を持つchangeColorというメソッドを追加しました。このメソッドをDOM要素にアタッチすると、すべてのコンテンツの色を変更する必要があります。

これが私の開始コードです:

function CustomColor() {

}

CustomColor.prototype.changeColor = function(color){
   //here what I have to specify.

}

これはかなり基本的なことですが、私はJavaScriptを初めて使用します。ありがとう。

4

2 に答える 2

3

次のようにCustomColorを使用します。

function CustomColor(element) {
    this.element = element;
}
CustomColor.prototype.changeColor = function (color) {
    this.element.style.color = color;
}

CustomColorの新しいインスタンス:

var element = new CustomColor(document.body);
element.changeColor('red');

次のような追加のクラスを使用せずに、実際のdom要素を拡張することもできます。

Element.prototype.changeColor = function (color) {
    this.style.color = color;
};

次のように使用します。

document.body.changeColor('red')
于 2013-01-26T22:15:40.483 に答える
1

これがあなたが探しているものだと思います:

var elem = document.getElementById('some_element'),
    CustomColor = function (element) {
        this.htmlElement = element;
    };
CustomColor.prototype.changeColor = function (color) {
    this.htmlElement.style.color = color;
    return;
};
elem.customColor = new CustomColor(elem);

添付プロパティの使用:

elem.customColor.changeColor('#00f');

ホスティング HTML 要素への参照を取得する唯一の方法は、それを引数としてコンストラクターに渡すことです。ただし、 では(引数を含む)changeColorの「プライベート」変数を参照できないCustomColorため、 で使用するすべてのプロパティに対して「パブリック」プロパティを作成する必要がありますchangeColor。詳細はMDNで

jsFiddleでのライブ デモ。

上記のコードは、特定の HTML 要素に対してのみカスタム プロパティを作成します。prototypeすべてのブラウザーでサポートされているわけではないため、DOM 要素のカスタム プロパティを作成することはお勧めしません。

于 2013-01-26T22:05:46.917 に答える