Javascript:正确的语法

时间:2017-11-20 11:15:37

标签: javascript

我有这段代码:

$(this).find('.placeholder-style td:nth-child(1)').addClass('hidden-td')
$(this).find('.placeholder-style td:nth-child(2)').addClass('hidden-td')
$(this).find('.placeholder-style td:nth-child(3)').addClass('hidden-td')
$(this).find('.placeholder-style td:nth-child(4)').addClass('hidden-td')
$(this).find('.placeholder-style td:nth-child(5)').addClass('hidden-td')

我想这样动态:

for (i = 0; i < 5; i++){
   $(this).find('.placeholder-style td:nth-child'.(i)).addClass('hidden-td')
}

这段代码的正确语法是什么?

3 个答案:

答案 0 :(得分:3)

  1. 在JavaScript中,连接运算符为+而非.
  2. ()是选择器语法的一部分,而不是JavaScript语法,它们必须是字符串
  3. 这样的

    $(this).find(
        '.placeholder-style td:nth-child(' + i + ')' 
    ).addClass('hidden-td')
    

    如果没有for循环,这可能会更容易。

    $(this).find(
        '.placeholder-style td:not(:nth-child(6) ~ td)' 
    ).addClass('hidden-td')
    

答案 1 :(得分:1)

  • 应定义i
  • 之类的var i变量
  • i值应以1
  • 开头
  • 使用+代替.来连接字符串

就像,

for ( var i = 1; i <= 5; i++){
   $(this).find('.placeholder-style td:nth-child'+i).addClass('hidden-td')
}

答案 2 :(得分:0)

我认为你可以更容易地做到这一点

.placeholder-style td:nth-child(-n+5){display: none;}