在悬停时使用jquery创建div?

时间:2012-03-14 06:08:28

标签: javascript jquery html

所以我有一个非常愚蠢的问题。是否可以在悬停时创建div?我没有权限为我创建列表的文件,所以它创建了这个。

<ul class="class">
    <li>content</li>
    <li>content</li>
    <li>content</li>
</ul>

在这个特定项目中,我无法直接编辑该文件。但我想在每个列表项的外部创建一个

   <div>stuff</div><li>content</li>

我知道这不是一个IDEAL设置,但这是我想要的方式。更糟糕的是,我有另一种工作方式,但我想 -

类似

jQuery('#target').hover(function() {
    jQuery(this).find('<li>').echoBefore('<div class="class">stuff</div>')
    });

这将是我对我所遇到的棘手情况的理想解决方案:P

3 个答案:

答案 0 :(得分:3)

您需要使用方法append

喜欢这样

jQuery('#target').hover(function() {
    jQuery(this).find('li').append('<div class="class">stuff</div>')
});

如果你想在追加它之后访问这个div,你可以使用jquery的方法创建一个像这样的新元素

jQuery('#target').hover(function() {
    var div = jQuery('<div></div>');
    div.addClass('class').html('stuff');
    jQuery(this).find('li').append(div);
    div.html('this is updated html after appendage');
});

答案 1 :(得分:2)

要在每个LI的外部创建DIV,您可以使用以下代码:

jQuery(this).find('li').before('<div class="class">stuff</div>');

但是,如果它完全相同,我建议使用以下代码在LI的内部创建这些DIV:

jQuery(this).find('li').prepend('<div class="class">stuff</div>');

答案 2 :(得分:0)

这样可行:

$('#target').hover(function(){
    $(this).find('li').append('<div>stuff</div>');
});

但是,当你多次悬停时,div会被多次创建。