我想悬停在一个div中,在身体部分添加一个新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>
答案 0 :(得分:7)
那是因为append()返回原始 jQuery对象(包含<body>
元素的对象),而不是包含附加内容的新对象。
您可以改为使用appendTo():
$('<div id="object">').appendTo('body').html(html).css({
'top': '200px',
'left': '300px',
'z-index': '10'
});
答案 1 :(得分:1)
$('<div/>',{
id: 'object'
}).appendTo('body')
.html(html)
.css({
'top': '200px',
'left': '300px',
'z-index': '10'
});