1

#OL_Icon_63jQueryを使用してdiv内に文字列またはHTMLタグを追加しようとしてい.append()ます。コードの例を次に示します。

$(document).ready(function() {
    $('#OL_Icon_63').append('HELLO WORLD');
});

しかし、それは私にとってはうまくいかないコードです、私はこのようにコードを変更しようとします:

$(document).ready(function() {
    $("body").click(function() {
       $('#OL_Icon_63').append('HELLO WORLD');
    });
});

$(document).ready(function() {
    $("body").hover(function() {
       $('#OL_Icon_63').append('HELLO WORLD');
    });
});

2種類のコードは、bodyタグの後に使用.hover()する.click()場合に機能しますが、基本的に、$( "body")の後に.hover()または.click()を追加しないと、.append()などの関数を使用できません。クリックまたはホバーを使用すると、文字列が繰り返し表示されます

.append()jQuery関数が私にとって完璧に機能するように、誰かが私にいくつかの例/意見を教えてもらえますか?

4

3 に答える 3

1

より一般的な解決策は、javascript関数がオブジェクトであるという事実を使用することです。関数clickActionが呼び出されると、テキストを追加した後、それ自体が空白の関数に設定されます。

編集 これは、イベントの処理方法が原因でjQueryでは機​​能しませんが、one()というメソッドが含まれています。

$(document).ready(function() {
  var clickAction = function(){
     $('div').append("Hello World");
  } 
    $("div").one("click",clickAction);
});​
于 2012-08-08T18:48:11.860 に答える
0

text代わりに使用してください:

$('#OL_Icon_63').text("hello world")

追加を誤って使用しています。Appendは、要素のinnerHTMLに要素を追加するためのものです。textテキスト用でありhtml、HTML用です

これにより、要素内のすべてのテキストも置き換えられるため、倍数はありません。

于 2012-08-08T18:48:06.500 に答える
0

$(document).readyこれなしで試してみませんか?

(function(){
    $('#OL_Icon_63').append('HELLO WORLD');
})();

実例: http: //jsfiddle.net/tgzKQ/

于 2012-08-08T19:00:44.603 に答える