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