2011-12-29 9 views
1

私は現時点でプロジェクトに取り組んでいます。既存のサイトを新しいサーバーに移行し、新しいCMSでサイトを動作させます。HTMLをJavaScriptに置き換えてください

CMSはひどく、ハードコードされたコンテンツがたくさんあります。 CMSでこのコンテンツを編集することはできません。

だから私はJSと多くのHTMLを置き換える必要があります。

私の計画は、HTMLをjQueryのreplaceWithメソッドで置き換えることです。

これは健全なアプローチですか?それともこれについてもっと良い方法がありますか?

+1

;-)プレスコットの最適化は唯一の塗料で幸せ促し続けるCMSを修正!私はあなたがcmsを修正することに関するすべてのオプションを見てきたと仮定します。必要のない領域を隠すスタイルシートを導入してから、新しいcmsモジュールを追加することができます。または、あなたはjavascriptを使用することができます - それは私の最後のオプションだけど。 – Prescott

+0

悲しいことに、CMSを修正することはできません。 Textpatternの信者であることは、このような悪いCMSを使って作業することは一種の難点です。 – timkl

答えて

1

あなたが新しいコンテンツを追加し、その後、DOM要素を取って、現在のコンテンツをクリアする話をしている場合は、あなたが行うことができます)

$(document).ready(function() { 
    $('#myelement').empty(); 
    $('#myelement').append('new stuff'); 
}); 

.appendを(何でもした後、DOM要素に挿入それはすでにそれに入っています。

編集:
ちょうど良い方法を考えた:

$('#myelement').html('new content'); 

新しいコンテンツでそのセレクタで選択されたDOM要素の内容を置き換えます。基本的には、私の最初の解決策と同じですが、1行のコードで行います。もちろん、配列から読み込むことによってドロップダウンリストにオプションを追加するループのように複数のものを入れる必要がある場合は、そのループ内で.append()を実行します。

と.htmlのは()

+0

これはHTMLを許可しますか?このように: $( '#myelement')。empty(); $( '#myelement')。append( '

Something

'); – timkl

+0

明らかに、あなたは$(document).readyでこれを行う必要がありますので、それらのdom要素があなたのために存在するようにしてください。 – Patches

+0

これにコメントするのは、.empty()を呼び出してから.appendページを2回書き直します。おそらく、1つの再塗装でこれを行う方法があります。replaceWith()はこれを1つで行うかもしれませんし、カバーの下の空を隠すかもしれません。私は確信していません – Prescott

関連する問題