jQuery在.css()中使用变量

时间:2017-10-15 15:23:22

标签: jquery css variables

我已经编写了这段代码而且它无法正常工作

    router.post("/profile", req, res, next){
        return res.redirect("back")
     }

我认为因为这条线而起作用了:

$('.item').each(function(){
    var ItemGradient1 = $(this).attr('data-gradient-1');
    var ItemGradient2 = $(this).attr('data-gradient-2');
    var ItemGradient = 'linear-gradient(to right bottom, ' + ItemGradient1 + ', ' + ItemGradient2 + ');'
    $(this).children('.portfolio-wrapper').append('<div class="item-after"></div>');
    $(this).children('.portfolio-wrapper').children('.item-after').css('background', ItemGradient);
    console.log(ItemGradient);
});

这是html:

    $(this).children('.portfolio-wrapper').children('.item-after').css('background', ItemGradient);

你看到有什么错误吗?谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

问题在于这一行:

var ItemGradient = 'linear-gradient(to right bottom, ' + ItemGradient1 + ', ' + ItemGradient2 + ');'

css函数拒绝ItemGradient,因为字符串末尾有额外的;。删除它,它将工作:)

由于您正在学习,这是编写该功能的另一种方法:

$('.item').each(function(){
    var itemGradient1 = $(this).data('gradient-1');
    var itemGradient2 = $(this).data('gradient-2');
    var itemGradient = 'linear-gradient(to right bottom, ' + itemGradient1 + ', ' + itemGradient2 + ')';
    $(this)
        .find('.portfolio-wrapper')
        .append('<div class="item-after"></div>')
        .css('background', itemGradient);
});