0

我一直在尝试学习 JavaScript 并尝试破解 JS Fiddle 来尝试。http://jsfiddle.net/Xy9Ga/ 使用JAVASCRIPT的目标: 1) 从第一个项目开始,每隔三个列表项设置红色文本和斜体。2)从第五项开始,每第十项加粗并加下划线。

我知道创建 css 类,然后将它们相应地应用于列表项。我在试图弄清楚事物的 JavaScript 方面时遇到了麻烦 :( 并不是真的在找人为我编写代码,但可能会解释如何做到这一点的逻辑。我不知道从哪里开始

document.load =function() {
};

我制作的两个 CSS 类是

    .reditem {
    color: red;
    font-style: italic;
}

.blackitem {
    font-weight: bold;
    font-style: underline;
}
4

3 回答 3

1

改用nth-child伪类。

我更新了你的小提琴来展示这一点。

基本上,系数是它应用的频率,而添加的部分是它开始的地方(这并不完全正确,但对我来说已经足够接近了)。

这意味着每三分之一,从第一个开始,它是nth-child(3n+1),每十分之一,从第五个开始,它是nth-child(10n+5)

nth-child.

于 2013-11-08T03:51:07.860 回答
1

创建了你的小提琴的一个叉子,我相信你在问什么,如果你卡住了,请看一看!jsfiddle.net/realchaseadams/Xy9Ga/8

var list_items = document.getElementsByTagName('li');

for(var i = 0, len = list_items.length; i < len; i++) {
    if (i % 3 === 0) {
      list_items[i].className += ' third';   
    }
    if ((i % 10 === 0 && i !== 0) || i === 4) {
      list_items[i].className += ' fifth';   
    }
}

看起来您对控制流和运算符以及添加具有在样式中定义的属性的类更感兴趣。

于 2013-11-08T04:02:03.843 回答
0

你需要做的是。

  1. 首先创建一个节点列表,其中包含所有 li 元素。
  2. 遍历整个列表并检查索引是否可被 3 整除。
  3. 当你得到你的元素时,使用 css() 函数改变文本的颜色。

    var nodeList = $('li');
    
    nodeList.each(function (index, val) {
        if ((index + 1) % 3 === 0) {
            $(this).css('color', 'red');
        }
    });
    

这是你的小提琴修改

于 2013-11-08T04:09:31.640 回答