0

4 つのリンクがあり、クリックされた特定のリンクのリンク リストの下にある div(.contentcont [div の名前]) にコンテンツを表示したいと考えています。

$('.link1').click(function(e){
$(this).clone().html('<h1>Text appear</h1>')
.appendTo('.contentcont')
               e.preventDefault();  
       });

.html() を使用して、div に入力するコンテンツを提供しています。提供されている js フィドル ( http://jsfiddle.net/jack2ky/K3FaY/2/ ) を見ると、新しいコンテンツが div に表示されているが、リンクの特性を引き継いでいることがわかります。 【ダメ】。.clone() を使用していることが関係しているのかもしれません。私が .clone() を使用している理由は、リンクをクリックするとリンクが消えるためです。リンクが消えるのを防ぐために .clone() を使用することが正しい解決策であるかどうか教えてください。そして、新しいコンテンツがリンクの特徴を帯びているのはなぜですか?

4

4 に答える 4

2

リンク要素自体を複製しているため、新しいコンテンツはリンク特性を引き継いでいます。新しいコンテンツを追加するには、次を使用します。

$('.contentcont').append('<h1>Text appear</h1>');
于 2012-09-30T05:47:24.420 に答える
1

.html()要素の内部HTML を設定します。複製された要素はまだ<a>タグ (リンクを複製した) であるため、基本的に、別のテキストを含むリンクのコピーを他の要素に追加しています。

私があなたのコードを正しく読んでいれば、本当に.clone()orを使う必要はまったくありません.html()。新しい要素を作成するだけです:

$('<h1 />', {
    text: 'Text appear'
}).appendTo('.contentcont');

デモ: http://jsfiddle.net/Blender/K3FaY/8/

于 2012-09-30T05:45:30.780 に答える
0

innerHTML複製されたリンクを div などの一時的な親ノードに追加してから、またはを使用して html を引き出してみてください。$.html()

于 2012-09-30T05:46:53.017 に答える
0

新しいコンテンツは、要素の子として直接追加されるため、リンクの特性を引き継いでいます。<a>...</a>原因はclone(). clone() を使用せずに、その ID を使用して Div に新しいコンテンツを追加してみてください。

于 2012-09-30T05:52:03.560 に答える