Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将变量传递给jquery';什么是css功能?_Javascript_Jquery_Css - Fatal编程技术网

Javascript 是否可以将变量传递给jquery';什么是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

我希望使用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之类的自定义函数的情况下工作):


两种不同版本的代码都不起作用。请帮忙。谢谢。

您在此处发布的代码应该可以使用。我已经做了两个版本的你正试图做几次。如果它不起作用,很有可能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');