尝试在mouseenter上追加一个元素,然后在mouseleave上删除相同的元素。
$(#foo).mouseenter(function (){
$(this).append(#bar);
});
$(#foo).mouseleave(function (){
$(this).remove(#bar);
});
不行,我做错了吗?
答案 0 :(得分:2)
不引用字符串文字似乎是最明显的事情。你试过了吗?
$("#foo").mouseenter(function (){
$(this).append("#bar");
});
$("#foo").mouseleave(function (){
$(this).remove("#bar");
});
jQuery的元素选择器函数(即$()
)需要一个包含CSS样式选择器的字符串,如".someClass"
或"#someId"
或"div span.label"
。传递那些没有引号的东西是语法错误。
答案 1 :(得分:2)
$("#foo").on("mouseenter mouseleave", function(e){
e.type === "mouseenter"
? $("#bar").appendTo(this)
: $("#bar", this).remove() ;
});
Fiddler:http://jsfiddle.net/AzEnm/1/