Javascript 在jquery中查找将css应用于所有span
我正在asp.NETMVC中借助js和jquery制作一棵树 有一个添加按钮,用于添加同级子级和同级子级 为了确定要做什么,我使用以下代码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) {
//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; });