jquery .each,如果语句不起作用

时间:2017-07-07 12:51:51

标签: javascript jquery

我正在尝试删除sharepoint显示表单中的空列。我对JQuery很新,所以请耐心等待!

我有:

$("td.ms-formbody").each(function (index) {
  if (index=6)
  {
    console.log("Mobile");

所以它遍历所有的formbody标签,当涉及到第六个时,它应该显示" Mobile"到console.log,但它只是记录'移动' x formbody标签的计数。所以似乎IF不起作用。任何人都可以建议吗?

4 个答案:

答案 0 :(得分:0)

使用parseInt()设置变量索引的值。您应该将其更改为index = 6index == 6(如果您想尊重比较值的类型)。

index === 6

顺便说一句,您似乎想在第六栏中应用某些内容。你可以使用直接选择器,不需要用循环搜索它。

:nth-child() selector

答案 1 :(得分:0)

更改:

if (index =6)
{
console.log("Mobile");
}

致:

if (index == 6)
{
console.log("Mobile");
}

如果您使用简单的' ='你设置变量

答案 2 :(得分:0)

$("td.ms-formbody").each(function (index) {
  if (index == 6) {
  console.log("Mobile");
  }
}

答案 3 :(得分:0)

看起来你也不熟悉将函数作为参数传递。

请考虑以下代码:

$("td.ms-formbody").each(function(){});

在这个例子中,我正在解析所有出现的td.ms-formbody选择器。我正在将函数传递给每次出现,然后可以对该选择器的每个实例进行操作。目前我什么也没做。

现在考虑以下事项:

$("td.ms-formbody").each(function(){
    $("td.ms-formbody").index($(this));
});

这是获取每个元素的索引的一种方法。 JQuery正在做的是使所有元素与选择器匹配,并根据它们在DOM中出现的顺序为它们分配任意数字。我现在可以对此信息进行操作。

使用正确的条件运算符(==)并正确关闭我的if语句,如果each()函数遇到与选择器匹配的第6个元素,现在将登录到控制台。

$("td.ms-formbody").each(function(){
    if($("td.ms-formbody").index($(this)) == 6){
        console.log('Mobile');
    }
});