if文を$(this).attr("id")
にしようとすると問題が発生します。私が欲しいのは、チェックボックスをクリックしてチェックすると、そのIDが#log
のdivに記録されているということです(これは機能します)。クリックされてチェックされていない場合、jQueryはログに記録された行がチェックボックスのIDと同じであるかどうかをチェックする必要があります。その場合は、そのスパンを削除する必要があります。ここでスパンにIDが含まれている場合
はjsfiddleです:http://jsfiddle.net/fLskG/1/
あなたがクリックしたときにそうOption 1
テキストoption-0
は(これはチェックボックスのIDである)が表示されます。もう一度ボタンをクリックすると、そのテキストは消えます。ここで
はスクリプトです:
$(document).ready(function() {
$(".menu").find("input:checkbox").click(function() {
if ($(this).is(":checked")) {
$("#textValue").text($(this).val());
$("#log").append("<span>" + this.id + "</span><br/>");
}
else {
if ($("#log").children("span").contains($(this).attr("id"))) {
console.log($(this).attr("id"));
$("#log").children("span").remove();
}
}
});
});
私はこの問題は、「含む」とあり、かなり確信しています。しかし、最初の関数でチェックされたチェックボックスのIDを含むスパンがあるかどうかをjQueryがチェックする方法はわかりません。
ありがとうございました。
ありがとうございました。ニースのulも見つけてください!ちょうど不思議なことに、this.idと$(this).attr( "id")の違いは何ですか?どうもありがとう。 –
私はそれもまた私に当たっていると思っていました。 '$(this)'は 'attr()'メソッドを使用してセレクタに一致するすべての要素の属性を取得するjqueryオブジェクトですが、 'this.id'は実際のDOMオブジェクト(' id'プロパティ)特定のIDのネイティブプロパティはありません。 – Anthony