javascript - 通过类选择器单独调用方法

标签 javascript jquery html

在我的博客中,我使用的是 Pico CMS,在 index.twig 页面中,我编写了这段代码来生成带有页面标题、描述和 URL 的 HTML:

{% for page in pages|sort_by("time") %}
    {% if page.id starts with "blog/" %}
        <div class="post">
            <h3>
                <a class="page-title" href="{{ page.url }}">{{ page.title }}</a>
                <small class="date">{{ page.date }}</small>
            </h3>
            <p class="excerpt">{{ page.description }}</p>
    {% endif %}
{% endfor %}

我的想法是用不同的颜色制作每个标题,我使用了 randomColor ,并编写了这段 JavaScript:

$('.page-title').css('color', randomColor() );

但这使得页面中的所有页面标题都具有相同的颜色,我希望它们中的每一个都具有不同的颜色。 这是网址:blog.lfoscari.com

最佳答案

$('.page-title').css('color', randomColor() ); 用简单的英语就是 调用函数 randomColor() 并获取颜色,然后将相同的颜色设置为所有匹配类的元素。


你必须使用 each()迭代所有元素,通过调用函数获取随机颜色并将其单独设置给每个元素。

$('.page-title').each(function() {
    $(this).css('color', randomColor())
});

关于javascript - 通过类选择器单独调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36824566/

相关文章:

javascript - 基于彼此显示两个下拉列表的项目

javascript - 在 Ace 编辑器中禁用水平分割

jQuery 更改事件未针对输入字段触发

html - overflow-y : auto cuts absolutely positioned element on left. 滚动时移动元素的解决方法

javascript - Eslint - 箭头主体周围出现意外的 block 语句

用于打开新窗口的 Javascript 代码在 IE 中不起作用

jquery - 如何在 jquery ui 中更改对话框标题颜色?

javascript - 单击时如何将 td-tag 更改为 html 中的 input-tag?

html - 尝试将主横幅居中,响应文本左对齐

css - HTML/CSS 如何通过将其堆叠为一列来使显示响应较小的屏幕?