在 jquery 中找到将 css 应用于所有跨度

发布于 2024-10-05 07:05:09 字数 1003 浏览 1 评论 0原文

我正在 asp.net mvc 中借助 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函数时,我的解释是它将返回dom的编号,其中相应的bg颜色是石灰。

但它的作用是将 bgcolor 应用于所有 span 。

如何获取bgcolor为石灰的span的id。

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

i am making a tree with the help of js and jquery in asp.net mvc.

there is a add button which add the sibling and same level child .

to identify what is to be done i am using the following code.

    //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
            }

        }

when i was going through the find function in jquery what i interpreted is that it will return the no of dom where the corresponding bg color is lime.

but what it does it applys the bgcolor to all the span .

how to get the ids of the span whose bgcolor is lime.

every thing is created dynamically (span ,div) just wanted to add for getting a better picture.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

超可爱的懒熊 2024-10-12 07:05:09

您错误地使用了 jQuery .css() 方法。您可以使用 .css() 来获取设置 css 属性。有关更多详细信息,请参阅:http://api.jquery.com/css/

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

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

然后,在 css 文件中,指定石灰色类的样式:

.lime-colored { background-color:lime; }

然后,当您想要获取所有元素时当前为绿色的元素,可以通过获取附加了石灰色类的元素来实现:

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

如果要删除石灰色,可以使用以下命令:

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

You're using the jQuery .css() method incorrectly. You use .css() to get or to set a css property. For more details see: http://api.jquery.com/css/.

Instead of using css, you should add a class to all elements that you want to be lime-colored:

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

Then, in your css file, specify the styling for the lime-colored class:

.lime-colored { background-color:lime; }

Then, when you want to grab all of the elements that are currently green, do so by grabbing the elements that have the lime-colored class appended:

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

If you want to remove lime coloring, you can use the following:

$('???').removeClass('lime-colored');
稀香 2024-10-12 07:05:09

您必须遍历每个然后找到属性 Lime。这是一个例子:
jQuery:你可以通过 CSS 规则而不是类进行选择吗?

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

You have to loop through each then find the attribute lime. Here is an example:
jQuery: Can you select by CSS rule, not class?

Another approach though would be to add a class (like background-lime) when you change the background to lime. Then just search for that class, $.(".background-lime").

在巴黎塔顶看东京樱花 2024-10-12 07:05:09
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; });
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; });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文