2017-07-07 70 views
0

我想删除sharepoint显示窗体中的空列。我对JQuery相当陌生,所以请耐心等待!jquery。每个,如果语句不起作用

我:

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

所以它遍历所有的formbody标签,当它涉及到第六,就应显示“移动”到console.log,但它仅仅是登录“移动” X的计数formbody标签。所以看来IF没有工作。任何人都可以建议吗?

+3

'if(index == 6)'?? – Ionut

+1

您正在使用'if(index = 6)'将索引值设置为6。它应该是'if(index == 6)'。 –

+0

你在'.each'的第一次运行时将''index'分配给'6'。你想用'=='进行比较。 –

回答

0

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

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

顺便说一句,似乎你想申请的东西到第六栏。你可以使用直接选择器,不需要用循环搜索它。

:nth-child() selector

0

变化:

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

要:

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

如果你用一个简单的 '=' 你设置的变量

0
$("td.ms-formbody").each(function (index) { 
    if (index == 6) { 
    console.log("Mobile"); 
    } 
} 
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'); 
    } 
}); 
+0

参数分配正确。 :)以下是.each()的文档:https://api.jquery.com/each/ –