Javascript 在css方法中传递动态属性
当我像下面这样做时,它不起作用!!你能帮帮我吗?为什么会这样Javascript 在css方法中传递动态属性,javascript,jquery,css,Javascript,Jquery,Css,当我像下面这样做时,它不起作用!!你能帮帮我吗?为什么会这样 var propertyName = 'left'; var propertyVal = $("body").width(); $('nav').css({ propertyName: propertyVal , 'position': 'absolute'}); 相反,您可以这样做: $('nav').css(propertyName, propertyVal) .css('position', 'absolut
var propertyName = 'left';
var propertyVal = $("body").width();
$('nav').css({ propertyName: propertyVal , 'position': 'absolute'});
相反,您可以这样做:
$('nav').css(propertyName, propertyVal)
.css('position', 'absolute');
您还可以使用数组
符号添加:
cssProperties[propertyName] = propertyVal
问题在于,无法使用现有语法将变量用作对象中属性的名称。相反,您需要使用括号符号来定义该属性及其值。试试这个:
var cssSettings = { 'position': 'absolute' };
cssSettings[dynCssProperty] = widthMenu;
$('nav').css(cssSettings);
或者,您可以对css()
方法进行两次调用,分别设置每个属性:
$('.nav').css('postion', 'absolute').css(dynCssProperty, widthMenu);
请添加更多信息和您的研究、假设、代码。让我们看看你做了什么。我们在这里帮助你学习,而不是免费软件支持。嗨@Praveen,你的方式完全正确。。但是,如果有许多动态属性需要在css方法下添加,那么这个解决方案将是冗长乏味的。。