Javascript 在jquery中查找将css应用于所有span

Javascript 在jquery中查找将css应用于所有span,javascript,jquery,asp.net-mvc,jquery-selectors,Javascript,Jquery,Asp.net Mvc,Jquery Selectors,我正在asp.NETMVC中借助js和jquery制作一棵树 有一个添加按钮,用于添加同级子级和同级子级 为了确定要做什么,我使用以下代码 //to check from where the function is called var checkClass = $('#UlPrnt').find('span').css('background-color', 'Lime').length; if (checkClass == 0) {

我正在asp.NETMVC中借助js和jquery制作一棵树

有一个添加按钮,用于添加同级子级和同级子级

为了确定要做什么,我使用以下代码

    //to check from where the function is called
     var checkClass = $('#UlPrnt').find('span').css('background-color', 'Lime').length;
        if (checkClass == 0) {
            AddSiblings();
        $('#hdnChkSibbling').val('2');
        }
        else {
            debugger         
            var getValue = $('#dvTree').find('span').css('background-color', 'Lime');
            var spnID = getValue[1].id;
            var check = spnID.indexOf("spn");
            if (check>0) {
                AddSiblings();
                $('#'+spnID).css('background-color', '');
            }
            else {
                //call the function to append the same level child
            }

        }
当我在jquery中使用find函数时,我解释的是,它将返回对应bg颜色为浅灰色的dom编号

但它所做的是将bgcolor应用于所有跨度

如何获取bgcolor为lime的跨度的ID


每个东西都是动态创建的(span,div),只是为了获得更好的图片而添加的。

您错误地使用了jQuery.css()方法。您可以使用.css()获取或设置css属性。有关详细信息,请参阅:

您不应该使用css,而应该向所有要使用石灰色的元素添加一个类:

$('???').addClass('lime-colored');
然后,在css文件中,指定石灰色类的样式:

.lime-colored { background-color:lime; }
然后,当您想要抓取当前为绿色的所有元素时,请抓取附加了石灰色类的元素:

var checkClass = $('#UlPrnt').find('span.lime-colored').length;
如果要去除石灰着色,可以使用以下方法:

$('???').removeClass('lime-colored');

您必须循环遍历每个属性,然后找到该属性。以下是一个例子:


另一种方法是在将背景更改为石灰时添加一个类(如背景石灰)。然后只需搜索那个类,$。(“.background lime”)。

嗨,mattimus,这可以按照u的建议完成,但它正在增加
var ids = $('#UlPrnt span')
 //a set of spans with background-color of lime
 .filter(function(){
  return $(this).css('background-color')=='lime';
 })
 //a set of ids
 .map(function(){ return this.id; });