JSHint告诉我不要在if语句上使用标签(就jshint而言,标签似乎仅用于循环)。

forminjection: if (options.addToForm !== false) {
  if (!(options.addToForm instanceof jQuery)) {
    options.addToForm = $(element).closest("form");
    if (options.addToForm.length === 0)
    {
      options.addToForm = false;
      break forminjection;
    }
  }
  $(element).each(function(index){
    //do stuff
  });
}


因此,我在上面的第一行收到警告,但在break行上也收到了警告。

更新:此代码按预期工作,但显然不是达到最终结果的正确方法。应该如何重构?

最佳答案

好吧,我正在测试此清理解决方案

if (options.addToForm instanceof jQuery || options.addToForm === true) {
  if (options.addToForm === true) {
    options.addToForm = $(element).closest("form");
  }
  if (options.addToForm.length === 0) {
    // No form found
    options.addToForm = false;
  }
}
if (options.addToForm !== false) {
  $(element).each(function(index) {
    // Do Stuff
  });
}

10-06 07:40