我想使用 jQuery css() 函数动态设置 div 元素的 css,而不是为 css() 函数使用字符串文字/字符串常量。可能吗?
而不是将以下代码与字符串文字一起使用:
$('#myDiv').css('color', '#00ff00');
我想使用变量为#myDiv 元素设置 css,例如
版本 1:
var propertyName = get_propery_name(myVariable1); // function get_propery_name() returns a string like 'background-color'
var value = get_value(myVariable2) ; // function get_value() returns a string like '#00ff00'
$('#myDiv').css(propertyName, value);
版本 2:(只是硬编码以查看它们是否可以在不调用自定义函数(如上面的版本 1)的情况下工作):
var propertyName = 'background-color';
var value = '#00ff00';
$('#divLeftReportView').css(propertyName, value);
代码的两个可变版本都不起作用。请帮忙。谢谢。
最佳答案
您的两个示例都可以正常工作。我建议使用一种更简洁的方法(个人语法偏好):
$(document).ready(function () {
$('#myDiv').css(get_propery_name(myVariable1), get_value(myVariable2));
}
这是 a working fiddle .
如果你想更进一步,你可以返回一个 CSS 映射而不是字符串:
$('#divLeftReportView').css(GetCssMap("foo"));
function GetCssMap(mapIdentifier) {
return { "background-color" : "#00ff00" }
}
这是 a working fiddle .
关于javascript - 是否可以将变量传递给 jquery 的 css 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620224/