0

私はアプリに取り組んできましたが、JavaScript/jQuery で DOM オブジェクトを作成してから、次のように appendTo('body') を実行する傾向があることに気付きました。

$list = $('<ul/>', {
    id : "thelist",
    class : "listclass"
}
$list.appendTo('body');
$list.html(whateverAjaxStuff);

私のページのソースは、body タグが空の head だけになってしまいます。

この方法に利点/欠点があるかどうか疑問に思っています。HTML で基本的なフレームワークを構築し、代わりに JavaScript で innerHTML を操作する必要がありますか? 考え?

編集:明確にしたい。私は動的に生成する必要があるものでのみこれを行っています。$list 要素は AJAX で読み込まれ、ユーザーは別のリストに入力する選択を行います。

誰かがまだ興味を持っている場合はリンクしてください

4

4 に答える 4

2

JQueryではなくHTMLにできる限りのHTMLを入れたほうがいいです:)。

JQueryを使用して実際にページを作成するという不必要なオーバーヘッドは、JQueryでページを作成することで得られるメリットをはるかに上回りますが、現時点ではメリットは考えられません:)。

于 2012-04-18T18:33:31.637 に答える
2

最終的には、ユースケースによって異なります。jQuery を使用するとパフォーマンスが低下しますが、実際には気付かない可能性があります。多くの DOM 変更では、これがより重要になります。最初にjQueryでそれを行うのが速い/簡単な場合は、ぜひそれを実行してから、シナリオに十分な速さであるかどうかを確認してください。そうでない場合は、戻って必要に応じて変更できます。

一般的な経験則は、DOM を変更するたびにドキュメントのリフローが発生するため、できるだけ少ない回数で DOM を変更することです。jQuery は、舞台裏で多くの操作を隠すことができます。

于 2012-04-18T18:39:36.667 に答える
2

上記の他の回答は、現在行っていることを絶対にすべきではない理由について十分に説得力があるとは思いません。これを行わない理由はたくさんあります。

  1. SEO(検索エンジン最適化)
  2. スピード
  3. Javascript が無効になっているブラウザー
  4. WYSIWYG エディター (これは開発を大幅にスピードアップする可能性があり、あなたの方法では機能しません)
  5. デバッグとヘルプがはるかに簡単 - 上記のコードを使用して Stackoverflow でヘルプを求めた場合、助けてくれる人はほとんどいません。
  6. 速度についてもう一度言及しましょう - 何かが表示される前に発生する必要がある処理の量を最小限に抑えることが重要です。重い JS 処理 (広告など) を伴うサイトは、遅いコンピューターで閲覧するのが非常に苦痛です。

jQuery を使用してすべてのページを作成する理由が思いつきません。サーバー側 (Ruby、ASP.net、PHP など) で何が起こるかをエミュレートしようとしているようです。

JS から DOM を編集したいかもしれませんが、完全にゼロから構築するのは非常に悪い考えです!

于 2012-04-18T18:48:35.333 に答える
1

負荷の高いページを作成する以外に、JavaScriptが無効になっているユーザーがページにアクセスするのを防ぎ、空白のページが表示されます。

于 2012-04-18T18:38:55.640 に答える