我的颜色存储在我的按钮上的数据属性中,我想在切换中使用.但是,当我尝试使用时访问数据信息时this,没有可用的数据.如何保持对正确this范围的访问?
我试图只为不包含Skip的元素切换给定的颜色.
HTML
<div>
<input id="toggleButton" type="button" value="Toggle" data-color="Red" />
</div>
<div id="toggleSet">
<div>Element</div>
<div>Skip</div>
<div>Element</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.ActivateRed{ color: red; }
Run Code Online (Sandbox Code Playgroud)
JS
$('#toggleButton').click(function(){
$("#toggleSet div").each(function(index,element){
if( element.innerHTML != "Skip" ){
$(element).toggleClass("Activate"+$(this).data("color"));
//^this has no data to access?
//Why am I getting undefined?
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是我尝试的jsFiddle.我一直Activateundefined在上课.为什么不this访问我的toggleButton的数据?