2

div にカーソルを合わせ、body 部分に新しい div を追加し、ここにいくつかのコードを追加します。

しかし、私の問題は次のとおりです。新しいdivを追加するのではなく、最初のすべてのhtmlを置き換えます。問題はどこだ?ありがとう。 http://jsfiddle.net/U7QqB/3/

JS

jQuery(document).ready(function() {
  $('.click').hover(function(){
    var html = $(this).find('.text').html();   
    $('body').append('<div id="object"/>').html(html).css({'top':'200px','left':'300px','z-index':'10'});
  });
});

CSS

.click{position:realavite;top:100px;left:300px;}
.text{display:none;}
.object{position:absolute;}

html

<body>
<h1>A hover append div text</h1>
<div class="click">
    <img src="http://nt3.ggpht.com/news/tbn/U7Q-7enFr00rUM/1.jpg" />
    <div class="text">text</div>
</div>
</body>
4

2 に答える 2

7

これは、append()が、追加されたコンテンツを含む新しいオブジェクトではなく、の jQuery オブジェクト (要素を含むオブジェクト) を返すためです。<body>

代わりにappendTo()を使用できます。

$('<div id="object">').appendTo('body').html(html).css({
    'top': '200px',
    'left': '300px',
    'z-index': '10'
});
于 2011-08-14T13:41:04.440 に答える
1
$('<div/>',{
  id: 'object'
}).appendTo('body')
  .html(html)
  .css({
     'top': '200px',
     'left': '300px',
     'z-index': '10'
});
于 2011-08-14T13:48:54.770 に答える