所以我有一个非常愚蠢的问题。是否可以在悬停时创建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
答案 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会被多次创建。