2016-04-12 3 views
1

私は、要素を操作するためにJavaScriptを使用して<style>タグのHTMLコンテンツを変更することを考えています。 20,000細胞を持つテーブルを想定しパフォーマンスのためにCSS自体を操作する

、私の代わりに、すべての要素を取得するhidehide-me-tooクラスを持っている人たちを、非表示にする - 私はstyleのHTMLコンテンツ

.hide-me-too, .hide{display:table-cell/none;} 

を追加/削除します要素をページに追加します。

私が尋ねるものは次のとおりです。異なるブリューザーに問題があると思われますか?パフォーマンス?他の問題?

+0

おそらくこの記事はあなたの質問に答えるでしょうhttps://teamtreehouse.com/community/which-is-more-performant-hide-in-jquery-or-display-none-in-css – ahPo

答えて

1

CSSOMを操作して20,000個のセルを制御しようとすると、問題が発生します。

DOMを操作してクラス名を変更した方が良いでしょう。

その他の問題は、テーブル構造(<table><tr><td>)を持っていて、display:blockというセルを表示すると、すべてのレイアウトがクラッシュする可能性があります。セルの正しい表示値はdisplay: table-cellです。だから、jQueryを使って単一show()またはhide()を行うクラス名を変更するので、このようには見えません。

.showme { 
    display: table-cell; 
} 

.hide, 
.hide-me-too { 
    display: none; 
} 

をそして、それはそう、あなたには、いくつかのセルを非表示にすること、の列が一致しません、他の任意の-他-問題ですcolspanでプレーする必要があります。難しいだろう。がんばろう。

+0

1. thanks 2. fixed (知られている、自動操縦の例をコーディングした間違いを作った) – yossi

+0

ありがとうはupvoteを意味するか。固定であれば回答は受け入れられますか? –

+0

upvote:確かに。 が承認されました:まだ..まだ入力がありません。 – yossi

関連する問題