Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
使用Jquery读取样式属性_Jquery_Background_Styles - Fatal编程技术网

使用Jquery读取样式属性

使用Jquery读取样式属性,jquery,background,styles,Jquery,Background,Styles,我的页面上有类似的内容 <div class="number_1" style="background-color:red"></div> <div class="number_2" style="background-color:yellow"></div> <div class="number_3"></div> <div class="number_4"></div> <div class

我的页面上有类似的内容

<div class="number_1" style="background-color:red"></div>
<div class="number_2" style="background-color:yellow"></div>
<div class="number_3"></div>
<div class="number_4"></div>
<div class="number_5" style="background-color:red"></div>

我不能通过添加背景色类来更改HTML代码!它一定是红色的

我需要这样的功能

for(var i=1; i<=5; i++){
    if($('.number_'+i).hasBackgroundColor('red')){
        //something
    }else{
        //somethign else
    }
}

for(var i=1;i这里您可以得到背景色:

var backgroundColor = $('.number_'+i).css('background-color');
它将返回类似“rgb(245,180,5)”的内容。红色是“rgb(255,0,0)”

如果您更喜欢获取六边形值,例如红色为#ff0000,请使用以下函数:

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];
    }
    color = '#' + parts.join('');
}
函数hexc(colorval){ var parts=colorval.match(/^rgb\(\d+)\s*(\d+)\s*(\d+)$/); 删除(第[0]部分);
对于(var i=1;i,这里您可以得到背景色:

var backgroundColor = $('.number_'+i).css('background-color');
它将返回类似“rgb(245,180,5)”的内容。红色是“rgb(255,0,0)”

如果您更喜欢获取六边形值,例如红色为#ff0000,请使用以下函数:

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];
    }
    color = '#' + parts.join('');
}
函数hexc(colorval){ var parts=colorval.match(/^rgb\(\d+)\s*(\d+)\s*(\d+)$/); 删除(第[0]部分); 对于(var i=1;i,您可以尝试使用以rgb返回的方法

for (var i = 1; i <= 5; i++) {    
    if ($('.number_' + i).css("background-color") == "rgb(255, 0, 0)") { 
    //something    
    } else {
        //somethign else
    }
}
for(var i=1;i您可以尝试使用以rgb返回的方法

for (var i = 1; i <= 5; i++) {    
    if ($('.number_' + i).css("background-color") == "rgb(255, 0, 0)") { 
    //something    
    } else {
        //somethign else
    }
}
for(var i=1;icss('background-color')在您的案例“rgb(255,0,0)”中返回rgb中的颜色。

css('background-color')在您的案例“rgb(255,0,0)”中返回rgb中的颜色。

for(var i=1; i<=5; i++){
    if($('.number_'+i).css('background-color')=='red'){ // or ==rgb(255,0,0)
        //something
    }else{
        //somethign else
    }
}
for(var i=1;i试试这个

for(var i=1; i<=5; i++){
    if($('.number_'+i).css('background-color')=='red'){ // or ==rgb(255,0,0)
        //something
    }else{
        //somethign else
    }
}
(变量i=1;i)的

然后,在循环中添加额外的逻辑/条件

像这样的

$(document).ready(function() {
$.each($('div') , function(index) {

style=$(this).attr('style');

if(style=='background-color: red;' || style=='background-color:red') {

    alert($(this).attr('class')+' is red!');

}

});
});
然后,在循环中添加额外的逻辑/条件

像这样的

$(document).ready(function() {
$.each($('div') , function(index) {

style=$(this).attr('style');

if(style=='background-color: red;' || style=='background-color:red') {

    alert($(this).attr('class')+' is red!');

}

});
});
.attr('style')='background-color:red'似乎不起作用

一个空间将产生不同的结果:

$('').attr('style')=='background color:red'

假的

$('').attr('style')=='background color:red'

真的

.attr('style')=='background-color:red'似乎不起作用

一个空间将产生不同的结果:

$('').attr('style')=='background color:red'

假的

$('').attr('style')=='background color:red'


true

您是如何使用.css()的?JQuery有.css()用于此目的。请查看他们的文档:。他们也有一个很好的演示。实际上,attr('style')工作正常,IE返回的字符串与其他浏览器不同。您是如何使用.css()的?JQuery有.css()为此,请看一下他们的文档:。他们也有一个很好的演示。实际上,attr('style')正在工作,只是IE返回了与其他浏览器不同的字符串。我认为css('background-color')将始终返回'rbg(…,…,…,…)“@Ricola3D:是的,
rgb
或者我认为在某些浏览器上你可能会得到一个十六进制的颜色代码。当然不是
“red”
@T.J.Crowder只是出于好奇(为了将来的作品),什么版本的浏览器会返回一个六进制代码?我认为css('background-color')总是会返回'rbg(…,…,…,…)“@Ricola3D:是的,
rgb
或者我认为在某些浏览器上你可能会得到一个十六进制的颜色代码。当然不是
“red”
@T.J.Crowder只是出于好奇(为了将来的工作),什么版本的浏览器会返回一个十六进制代码?@user:这是一个改进。不过要注意,不同的浏览器以不同的方式返回值(例如,有空格和没有空格时,它们有时返回
rgba
,而不是
rgb
,我认为有些甚至有时返回十六进制代码)。@user:这是一种改进。不过,请注意,不同的浏览器以不同的方式返回值(例如,有空格和没有空格时,有时它们返回
rgba
,而不是
rgb
,我认为有些甚至有时返回十六进制代码)。我认为有些浏览器可能返回
rgba
,而不是
rgb
,我认为有些浏览器甚至有时返回十六进制代码。只是FWIW。我认为有些浏览器可能返回
rgba
,而不是
rgb
,我认为有些浏览器甚至有时返回十六进制代码。只是FWIW。