0

jQueryのメソッドで空<div>を変更しています。.html()ページを更新すると、追加されたコードが消えます。

$('#div').html($('#div').html() + '<div>'+obj.name+'&nbsp;<a href="">(x)</a>');

動作を変更したり、他の方法を使用したりすることは可能ですか?

ありがとう

編集:

私の問題を解決するために

多分それは設計エラーです。これは、いくつかのフィールドと、ユーザーがファイルをアップロードできる2番目のフォームを備えたフォームです。ファイルがアップロードされた後、ファイル名と削除リンクをdivに追加します。ユーザーがフォームを送信すると、プログラムは作成されたオブジェクトとファイルを接続します。これは実際には誰もが更新する必要のあるページではありませんが、発生する可能性があり、ファイルはデータベースに保存されますが、フォームオブジェクトに接続するための情報は失われます。

4

3 に答える 3

3

もちろん、ページをリロードするときはいつでも、すべての要素が(サーバーからロードされた)元の状態に戻ります。ただし、これを解決する方法があります。

  • クッキーの使用
  • HTMLローカルストレージの使用

クライアント側のスクリプトがどのように機能するかを理解する必要があります。変更は、スクリプトがロードされるサーバーではなく、クライアントのシステムで行われます。

于 2012-05-05T15:58:22.740 に答える
2

関数を作成する必要があります。

function doMyStuff(){    
     //your code here    
}
doMyStuff();   // that will be triggered on DOM ready // page refresh, whateva'

$('#element').on('click',function(){
    doMyStuff(); // you call your function on click
});
于 2012-05-05T15:59:46.713 に答える
0

ここで何をしているのかよくわかりませんが、HTMLページ自体の#divpaに必要なリンクを配置できます。次に、ユーザーがボタンをクリックしたときにそのコード行を変更したい場合は、CSSを使用して変更できます。

具体的には、次のようになります。

<div>
  <p><a id="example" href="www.example.com">Example</a></p>
</div>

そして、もし言うなら、ユーザーはボタンをクリックします(onClick()...)

$('div p a#example').html(//what you want to do here);

それはおそらくコードを変更するはずです。

そうすれば、クライアントが最初に移動するのを待つ間、ブラウザはHTML自体に空の場所を表示しません。

于 2012-05-05T16:09:42.050 に答える