Javascript 是否可以将变量传递给jquery';什么是css功能?
我希望使用jQuery css()函数动态设置div元素的css,而不是使用css()函数的字符串文本/字符串常量。可能吗 而不是将以下代码与字符串文字一起使用:Javascript 是否可以将变量传递给jquery';什么是css功能?,javascript,jquery,css,Javascript,Jquery,Css,我希望使用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 lik
$('#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之类的自定义函数的情况下工作):
两种不同版本的代码都不起作用。请帮忙。谢谢。您在此处发布的代码应该可以使用。我已经做了两个版本的你正试图做几次。如果它不起作用,很有可能javascript中的其他地方出了问题,或者您没有要更改的元素的正确选择器/id 尝试添加
警报(“测试”)
紧跟在$('#divLeftReportView').css(propertyName,value)之后代码>。如果弹出窗口显示“test”,则问题在于选择器。如果不是,那么问题是javascript中有一个bug
还可以尝试添加$('#divLeftReportView').css(“背景色”,“#00ff00”)代码>在同一个位置。这将确认选择器是否正常工作。此时似乎工作正常
确保在DOM就绪事件之后运行代码
$(function(){
var propertyName = 'background-color';
var value = '#00ff00';
$('#divLeftReportView').css(propertyName, value);
});
否则,您的元素可能不会出现在DOM中。两个示例都可以正常工作。我建议采用更简洁的方法(个人语法偏好):
给你
如果您想更进一步,可以返回CSS映射而不是字符串:
$('#divLeftReportView').css(GetCssMap("foo"));
function GetCssMap(mapIdentifier) {
return { "background-color" : "#00ff00" }
}
以下是。您还可以在一个变量内以数组形式传递多个CSS参数:
$(function(){
var divStyle = {'background-color': '#00ff00', 'color': '#000000'}
$('#divID').css(divStyle);
});
是的,使用jQueryAttr方法可以动态更改css
var height=$(".sampleClass1").innerHeight();
$('.sammpleClass2').attr('style', 'min-height:'+height+' !important');
没有什么特别的。这两种变体都应该很有效:这是否回答了您的问题?如果其中一个帮助了您,请接受答案如果“value”变量的值是从输入文本框(用户输入)获得的,如:var value=$(“#myTextBox”).val()?我的意思是如何将'value'变量的值转换为字符串文字或字符串常量?因为它是一个字符串,所以它将按原样工作。。。无论你传递一个字符串文字还是一个包含字符串的变量,这都是一样的。谢谢。我发现问题在于我对jQuery css()方法使用了BACKGOUND-COLOR等属性名的大写字母,因此我的代码不能处理$('divLeftReportView').css(“BACKGOUND-COLOR”,“#00ff00”);结果是属性名必须是小写。因此,代码应该是$('divLeftReportView').css(“背景色”,“00ff00”);
$(function(){
var divStyle = {'background-color': '#00ff00', 'color': '#000000'}
$('#divID').css(divStyle);
});
var height=$(".sampleClass1").innerHeight();
$('.sammpleClass2').attr('style', 'min-height:'+height+' !important');