[英]How to select all but $(this) in jQuery?
$(".dist_radio").click(function() {
$(this).attr("class", "dist_radio dist_on");
if (!$(this)) {
$(".dist_on").attr("class", "dist_radio");
}
console.log($(this).attr("class"));
});
我正在使用這段代碼來設置單選按鈕的樣式,除了當我點擊另一個按鈕時,其余的不會被刪除dist_on
類之外,它有點工作。 你能告訴我它有什么問題嗎?
您可以使用.not() :
從匹配的元素集中刪除元素。
$(".dist_radio").click(function () {
$(this).attr("class", "dist_radio dist_on");
$(".dist_on").not(this).attr("class", "dist_radio");
console.log($(this).attr("class"));
});
或者更好地使用.addClass()和.removeClass()使您的代碼更清晰:
$(".dist_radio").click(function () {
$(".dist_radio").removeClass("dist_on");
$(this).addClass("dist_on");
});
使用.not
方法:
$(".dist_radio").not(this).attr("class", "dist_radio");
但是對於您的邏輯,您可以像下面那樣做(使用addClass
/ removeClass
而不是直接更改class
屬性):
$(".dist_radio").click(function() {
$(".dist_radio").removeClass('dist_on');
$(this).addClass('dist_on');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.