$(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;使用并采取第一部分?我真的不知道吗?会帮助你。
答案 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; 39;