3

ドキュメントを読んで、私はからすべての要素$("#wrap2").remove(".error")を削除することを期待しています。しかし、このJSFiddleを見ると:http://jsfiddle.net/hCGUS/そうはないように見えますか?.error#wrap2

$(function() {
    $("#wrap1 .error").remove(); // works 
    $("#wrap2").remove(".error"); // fails ...
})​
4

5 に答える 5

8

ドキュメントの状態として、削除するセレクターパラメータは

削除する一致した要素のセットをフィルタリングするセレクター式。

error最初の例は、idを持つ要素に含まれるクラスを持つ要素を削除するために使用する必要があるものですwrap1

2番目の例では、idwrap2を持つ要素を検索し、クラスを持つ要素に設定されている要素をフィルタリングしてerror、それらの要素を削除します。つまり、に一致する要素のみが削除されます#wrap2.error

于 2012-06-14T03:09:14.077 に答える
3

jQueryドキュメントによると。おもう

$("#wrap2").remove(".error");

等しい:

$("#wrap2.error").remove();

要素がIDwrap2とクラスを持っていることを意味しますerror

于 2012-06-14T03:10:50.337 に答える
3

ドキュメントによると、引数を渡すと、呼び出されているラップされたセットのフィルターとして機能するため、jQueryセットがあり、セット内の一部の要素のみを削除したい場合は、セレクターをに渡すことができます。それらだけを削除します。

于 2012-06-14T03:07:18.217 に答える
1

x1a4の答えに基づいて構築され$("wrap2")、その子は含まれず、1つの要素のみが含まれます。あなたがした場合:

$("wrap2 *").remove(".error")

動作するバージョンと同じように動作します。

于 2012-06-14T03:11:46.140 に答える
-3

removeの代わりにremoveClassを使用してください

$( "#wrap2")。removeClass( "error");

于 2012-06-14T03:17:49.150 に答える