jquery 插件 - css 作为参数

发布于 2024-12-09 09:41:21 字数 607 浏览 0 评论 0原文

我正在编写一个新的 jquery 插件,它接受两个参数。 第一个是字符串数组,第二个是颜色代码数组(如#CCC)

我在插件中所做的是使用第一个数组中的字符串来制作一个看起来像这样的菜单:

<ul>
  <li><a class="Link0">string1</a></li>
  <li><a class="Link1">string2</a></li>
</ul>

我只是迭代数组并创建具有正确类的元素。 我现在需要的是一种将第二个数组中的颜色分配给类的方法。

$.each(settings.categoryColors, function(i, val) {
  $('a.Link'+i).css('background-color',val);            
});

问题是这些类也将动态添加到日期选择器的元素中。 所以我需要一种方法来设置类,而不是用类更新元素。

换句话说,我需要一种方法来创建 css 类,以便之后接收类的所有元素都具有相同的颜色。

我希望这是有道理的。

i'm writing a new jquery plugin which accepts among others two parameters.
the first is an array of strings, the second an array of color codes (like #CCC)

what i'm doing in my plugin is using the strings in the first array to make a menu that looks something like this:

<ul>
  <li><a class="Link0">string1</a></li>
  <li><a class="Link1">string2</a></li>
</ul>

I simply iterate over the array and create the elements with the correct class.
What I need now is a way to assign the colors in the second array to the classes.

$.each(settings.categoryColors, function(i, val) {
  $('a.Link'+i).css('background-color',val);            
});

The problem is that these classes will also be added dynamically to elements of a datepicker.
So I need a way to set the classes rather than updating the elements with the classes.

In other words I need a way to create the css classes so that all elements that recieve the classes afterwards have the same colors.

I hope this makes sense.

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

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

发布评论

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

评论(1

永言不败 2024-12-16 09:41:21

您可以在头部生成一些 css,如下所示:

var style = $('<style> .mystyle { background-color:black; }</style>')
    $('html > head').append(style);

    $.each(settings.categoryColors, function(i, val) {
      $('a.Link'+i).css('mystyle');            
    });

you can generate some css to the head as following :

var style = $('<style> .mystyle { background-color:black; }</style>')
    $('html > head').append(style);

    $.each(settings.categoryColors, function(i, val) {
      $('a.Link'+i).css('mystyle');            
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文