在循环中改变样式(JQ)

时间:2017-04-05 11:04:42

标签: jquery

我想知道jq这种奇怪的反应。当我用我的功能改变一个元素的样式时 - 一切正常

$.fn.setStyle = function(){
 $(this).css('marginLeft','100px');
}

 $(someVar).setStyle();

但是当我使用循环来改变多个元素的样式时,比如

$(myHTMLcollection).each(function(index,el){
                  $(el).setStyle();
               });

没有任何反应,但是如果我在我的函数结尾处举例console.log( $(this) ),我会看到这些元素在控制台中获得了新样式,但在页面上一切都没有变化

1 个答案:

答案 0 :(得分:2)

您的代码似乎应该做到了。检查是否有其他东西覆盖了样式。



string[] scopes = new string[] {
    "onedrive.readonly",
    "wl.signin"
};
var msaAuthenticationProvider = new MsaAuthenticationProvider(
    clientId,
    returnURL,
    scopes);

await msaAuthenticationProvider.AuthenticateUserAsync();
var client = new OneDriveClient(URL, msaAuthenticationProvider);

$.fn.setStyle = function(){
 $(this).css('color','#f00');
}
$('.test').each(function(index, el) {
  $(el).setStyle();
});