2012-05-31 63 views
3

试图通过使用JQuery来查找背景颜色属性设置为SelectedRowStyle背景色的行来访问GridView的选定行。该颜色是#FF6600。我试过JQuery通过背景色查找元素

var row = $("tr").find().css("background-color", "#FF6600"); 

但是,只是将所有行设置为橙色。

var row = $("tr[background-color=#FF6600"); 

返回空

var row = $("tr").find().attr("background-color"); 

,则返回undefined

+0

注:'.find()'返回一个空集。 '.css(“background-color”,“#FF6600”)'设置CSS属性。 –

回答

7

尝试.filter方法。

var rows = $('tr').filter(function(){ 
    var color = $(this).css("background-color"); 
    return color === "#FF6600" || color === "rgb(255, 102, 0)" ; 
}); 

我没有测试中,RGB部分可能需要被调整以考虑间距。

编辑:

或者更好的,这是考虑到大写小写VS

var rows = $('tr').filter(function(){ 
    var color = $(this).css("background-color").toLowerCase(); 
    return color === "#ff6600" || color === "rgb(255, 102, 0)" ; 
}); 
+0

这是做到了。谢谢! – jmease

6

background-color不是一个属性,它是一个CSS属性。您可以尝试使用.filter做到这一点:

var row = $("tr").filter(function(){ 
    // Chrome returns "rgb(255, 102, 0)" instead of "#FF6600" 
    return $(this).css('background-color') === "rgb(255, 102, 0)"; 
}); 
+0

仍返回长度为0. – jmease

+0

@jmease:'console.log($(this).css('background-color'))'。一些浏览器可能会输出不同的东西。 –

0
$('tr').each(function(){ 
    if($(this).css('background-color') == '#ff6600'){ 
     //do your stuff 
    } 
});