有人可以向我解释这个jQuery代码中的方括号吗?

时间:2016-08-01 17:04:52

标签: jquery split

$(document).ready(function(){
$('#switcher-default').addClass('selected');
$('#switcher button').on('click', function(){

    var bodyClass = this.id.split('-')[1];

    $('body').removeClass().addClass(bodyClass);
    $('#switcher button').removeClass('selected');
    $(this).addClass('selected');
    console.log(bodyClass);
});
});

//////////////Html Code/////////////

<div id="switcher" class="switcher">
    <h3>Style Switcher</h3>
    <button id="switcher-default">
        Default
    </button>
    <button id="switcher-narrow">
        Narrow Column
    </button>
    <button id="switcher-large">
        Large Print
    </button>
</div>

此代码有效,我可以看到它的作用,但方括号中的1令我困惑。这是否意味着将id拆分为&#34; - &#34;使用并采取第一部分?我真的不知道吗?会帮助你。

3 个答案:

答案 0 :(得分:0)

这意味着您拆分由 this.id 标识的字符串,从而生成一个数组。您可以使用此数组中索引为1的值来设置变量 bodyClass

请注意,在许多设置中,当您不是生成所有数据的设置时,假设结果数组始终具有特定数量的元素可能是不安全的。

答案 1 :(得分:0)

this.id.split('-')的结果是一个数组。因此[1]检索索引1处的项目。

相当于:

//get array of ids
var ids = this.id.split('-');
//get 1st id
var bodyClass = ids[i];

答案 2 :(得分:0)

this.id可能是&#39;切换器 - 无论什么&#39; this.id.split('-')等于[&#39;切换器&#39;,&#39;无论什么&#39;] this.id.split('-')[1]正在采取第二个要素&#39;