JQuery使用变量选择器

Pim*_*374 3 html variables jquery tabs

我正在尝试使用JQuery为网站创建标签.我得到了这个工作:

$("#tabs_1").click(function(){
    $("[id*=tabc]").css({"z-index":0,"opacity":0})
    $("#tabc_1").css({"z-index":1,"opacity":100});
});
$("#tabs_2").click(function(){
    $("[id*=tabc]").css({"z-index":0,"opacity":0})
    $("#tabc_2").css({"z-index":1,"opacity":100});
});
$("#tabs_3").click(function(){
    $("[id*=tabc]").css({"z-index":0,"opacity":0})
    $("#tabc_3").css({"z-index":1,"opacity":100});
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有办法来代替代码...可能是这样的:

$("#tabs_[x]").click(function(){
    var tab_num = x
    $("[id*=tabc]").css({"z-index":0,"opacity":0})
    $("#tabc_(tab_num)").css({"z-index":1,"opacity":100});
});
Run Code Online (Sandbox Code Playgroud)

Unk*_*own 5

你应该使用jquery属性启动选择器.试试这个:

$("[id^=tabs]").click(function(){
    var tab_num = this.id.split("tabs_")[1];
    $("[id*=tabc]").css({"z-index":0,"opacity":0})
    $("#tabc_"+tab_num).css({"z-index":1,"opacity":100});
});
Run Code Online (Sandbox Code Playgroud)

  • 只是FWIW,`$(this).attr("id")`是一种非常简单的编写`this.id`的方式. (2认同)
  • ^^只是要说,我也建议`tab_num = this.id.substr(5);` (2认同)