ネイティブHTMLテーブルを拡張することはできますか?HTMLテーブルの拡張方法またはプロトタイプ
C#の例:public class: htmltable{}
か何かのように:
HTMLTable.prototype.myType=function(){
this.clss='myClass';
this.setAttribute('class',this.clss);
}
ネイティブHTMLテーブルを拡張することはできますか?HTMLテーブルの拡張方法またはプロトタイプ
C#の例:public class: htmltable{}
か何かのように:
HTMLTable.prototype.myType=function(){
this.clss='myClass';
this.setAttribute('class',this.clss);
}
ブラウザはDOM要素の継承スキームを実装している場合、あなたは通常、そのスキームに従ってそれらを拡張することができます。最近のほとんどのブラウザECMA-262と一致しているプロトタイプ継承、しかしがそれを使用しない実装する理由:
Prototype.jsは、それをサポートするUAでDOM要素の継承を使用し、そうでない場合はDOM要素自身を「拡張」するフォールバックを使用します。それは最近、上記の理由でその戦略を放棄した。エラーが発生しやすく、遅かった。
まだプロトタイプを更新していますか? –
標高であるオンラインCADプログラムを作成しています。高さには、ベイを分割するドア、窓、および水平線を含むベイがあります。テーブルを使用することは、ブラウザがキャンバスと一緒にワーカーとローカルストレージを実装するまで、この状況に最適です。
私は各ベイのストレージのためにアレイを使用しています。つまり、暗闇、水平カウント、ドアまたはウィンドウ数です。だから、サイズ変更や何かが発生すると私は、ベイの配列をループし、必要に応じてすべてのプロパティをリセットする必要があります。次に、実際のtdを更新する必要があります。基本的にはそれをコアで更新してUIに戻し、更新された情報を必要とするものは何でもします。
私はこれまでにhtmltdを拡張することができなかったことを確認していました。私は配列を取り除くのがうれしいと思っていましたが、それが最良の方法ではないかもしれませんが、私は決して知らないように見えます。 ;)
次のコードのようなものは、私が後にしたものです。
this.myWidth;
var bays = this.rows[0].cells, len=bays.length, bay;
for(i=0; i< len;i++){
this.myWidth = someThingCalculated from a parameter;
bay = bays[i];
bay.style.width= ((this.myWidth/elevationWidth) * 100)) + %;
};
悲しいことに、あなたがDOMの内容を変えることができる程度は、IEと吸いつかないブラウザの間ではかなり異なります。しかしここであなたの究極の目標は何ですか?これがうまくいけば、.classNameを直接打つ代わりに使用する方法になります。そのクラスまたは何かを持つページのすべてのテーブルに自動的にヒットしません。 –