2

mouseenterで要素を追加してから、mouseleaveで同じ要素を削除しようとしています。

$(#foo).mouseenter(function (){
    $(this).append(#bar);
});
$(#foo).mouseleave(function (){
    $(this).remove(#bar);
});

動作しません、私は何か間違ったことをしていますか?

4

2 に答える 2

3

文字列リテラルを引用しないことが最も明白なことのようです。やってみました:

$("#foo").mouseenter(function (){
    $(this).append("#bar");
});
$("#foo").mouseleave(function (){
    $(this).remove("#bar");
});

jQueryのelement-selector関数(つまり)は、またはまたは$()のようなCSSスタイルのセレクターを含む文字列を想定しています。それらを引用符なしで渡すと、構文エラーになります。".someClass""#someId""div span.label"

于 2012-05-23T03:17:00.430 に答える
2
​$("#foo").on("mouseenter mouseleave", function(e){
    e.type === "mouseenter"
        ? $("#bar").appendTo(this)
        : $("#bar", this).remove() ;
});​

フィドラー: http: //jsfiddle.net/AzEnm/1/

于 2012-05-23T03:19:16.817 に答える