次のコードがある場合、
$(".selector1, .selector2, .selector3").click(function() {
switch(CURRENT SELECTOR) {
}
});
「selector1」、「selector2」などの switch ステートメントの内部に現在のセレクターが必要です。jQuery のセレクター オプションは廃止されたため、使用できません。私はjquery 1.4.2も使用しているので、それを維持してください。
次のコードがある場合、
$(".selector1, .selector2, .selector3").click(function() {
switch(CURRENT SELECTOR) {
}
});
「selector1」、「selector2」などの switch ステートメントの内部に現在のセレクターが必要です。jQuery のセレクター オプションは廃止されたため、使用できません。私はjquery 1.4.2も使用しているので、それを維持してください。
attr関数を使用して、クリックされた要素のクラス値を取得します。
$(".selector1, .selector2, .selector3").click(function() {
var elem_class = $(this).attr("class");
switch(elem_class) {
}
});
要素に複数のクラスがある場合は、次のことができます。
$(".selector1, .selector2, .selector3").click(function() {
var arr = ["selector1", "selector2", "selector3"];
var arr2 = $(this).attr("class").split(" ");
var choosen_one = false;
for(var i=0; i<arr.length; i++) {
for(var j=0; j<arr.length; j++) {
if(arr[i] === arr2[j]) {
choosen_one = arr2[j];
break;
}
}
if(choosen_one) {
break;
}
}
switch(choosen_one) {
}
});
参照:
問題を処理するには、次の 4 つの方法があります。
1)要素ごとに1つしかない場合のクラス :
$(".selector1, .selector2, .selector3").click(function() {
switch($(this).attr("class")) {
}
});
2)複数回使用したい場合、一意の IDは良くありません
$("#selector1, #selector2, #selector3").click(function() {
switch($(this).attr("id")) {
}
});
3)ユニークなセレクター
$("[data-selector=selector1], [data-selector=selector2], [data-selector=selector3]").click(function() {
switch($(this).data("selector")) {
}
});
4)複数のイベント ハンドラー:
$(".selector1").click(function() {
myFunction($(this));
});
$(".selector2").click(function() {
myFunction($(this));
});
$(".selector3").click(function() {
myFunction($(this));
});
function myFunction(myThis) {
//
}
.selector
jQuery 1.4.2 を使用している場合、プロパティを使用できないのはなぜですか? 1.7 まで非推奨ではありませんでした。