【问题标题】:jQuery Save css background color in variable [duplicate]jQuery在变量中保存css背景颜色[重复]
【发布时间】:2014-06-16 13:01:20
【问题描述】:

我想将元素的背景颜色保存在我通过 AJAX 调用发送的变量中,这样我就可以在 PHP SESSION 中使用它,但由于某种原因,我无法将这个 css 保存在变量中。

var color_rgb   = $( "#config-steps #selected-color" ).css( 'background-color' );

我的 AJAX 调用工作正常,我已经测试在 color_rgb 中放置一个测试字符串,这工作正常。

$.ajax( {
    type: "POST",
    url: sbg.ajaxurl,
    data: {
        color_rgb: color_rgb,
        action: 'sbg_config'
    }

});

有人知道如何解决这个问题吗?

【问题讨论】:

  • 所以你的问题是获取背景颜色?究竟是什么问题?是磨损的颜色,是空字符串吗?你的ajax调用没有被调用吗?请提供更多详细信息!
  • alert(color_rgb); 说什么?
  • @AndreschSerj 空字符串
  • 我们能看到你的 HTML 吗? FWIW;因为selected-color 是一个id,并且它们应该是唯一的,所以不需要在选择器前面加上#config-steps
  • @Robbert 那么你需要将它转换成字符串或hex number,否则它会寻找rgb function,这是未定义的

标签: javascript jquery css ajax


【解决方案1】:

试试这个,

function hexc(colorval) {
    var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    delete(parts[0]);
    for (var i = 1; i <= 3; ++i) {
        parts[i] = parseInt(parts[i]).toString(16);
        if (parts[i].length == 1) parts[i] = '0' + parts[i];
    }
    return '#' + parts.join('');
}
var color_rgb = $("#config-steps #selected-color").css( 'background-color' );
$.ajax( {
    type: "POST",
    url: sbg.ajaxurl,
    data: {
        // set default black, if not color found, else convert it by hex function
        color_rgb: color_rgb ? hexc(color_rgb) : '#000000',
        action: 'sbg_config'
    }
});

检查您的选择器的id。存在与否。

【讨论】:

  • 我试过你的代码,但我的开发工具给了我一个错误:Uncaught TypeError: Cannot convert undefined or null to object。我看起来需要定义 colorval..?
  • 您上次的编辑仍然给出同样的错误。看起来需要定义 colorval。
  • 你在ajax-call之前添加了var color_rgb = $("#config-steps #selected-color").css( 'background-color' );
  • 是的,我做到了。我不明白为什么会出错。
  • 能不能给它做个在线demo
【解决方案2】:

像这样在 Ajax 调用中将变量转换为字符串:

$.ajax( {
    type: "POST",
    url: sbg.ajaxurl,
    data: {
        color_rgb: String(color_rgb),
        action: 'sbg_config'
    }
});

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多