2

我在asp.netmvc中使用js和jquery创建了一个树。

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

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

//检查从何处调用函数var checkClass=$('#UlPrnt').find('span').css('background-color','Lime').length;if(checkClass==0){添加Sibling();$('#hdnChkSibbling').val('2');}其他{调试器var getValue=$('#dvTree').find('span').css('background-color','Lime');var spnID=获取值[1].id;var check=spnID.indexOf(“spn”);if(勾选>0){添加Sibling();$('#'+spnID).css('background-color','');}其他{//调用函数以附加相同级别的子级}}

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

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

如何获取bgcolor为lime的span的id。

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

3个答案

重置为默认值
6

您使用的jQuery.css()方法不正确。您可以使用.css()得到或至设置css属性。有关更多详细信息,请参阅:http://api.jquery.com/css/.

不要使用css,您应该向所有要使用lime-colored的元素添加一个类:

$('???').addClass('彩色');

然后,在css文件中,指定lime-colored类的样式:

.lime-colored{背景色:石灰;}

然后,当您想要抓取当前为绿色的所有元素时,可以抓取附加了lime-colored类的元素:

var checkClass=$('#UlPrnt').find('span.lime-colored').length;

如果要去除石灰着色,可以使用以下方法:

$('???').removeClass('彩色');
0
0

您必须遍历每个属性,然后找到属性lime。以下是一个示例:jQuery:你能按CSS规则而不是类进行选择吗?

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

1
  • 嗨,马提姆斯,你建议的可以做到,但它正在增加
    – 安库尔
    评论 2010年12月1日6:41
0
var ids=$('#UlPrnt-span')//背景色为石灰的一组跨度.filter(函数(){return$(this).css('background-color')=='time';})//一组id.map(function(){return this.id;});

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.