Javascript 使用jQuery调用函数

Javascript 使用jQuery调用函数,javascript,jquery,Javascript,Jquery,我正在构建一个jQuery脚本,我在理解每件事情的工作原理时遇到了问题,所以基本上我将创建一个函数,而不是重写大量代码,所以我就是这样做的: $('.chkboxes').on("change", ":checkbox", function () { if (this.checked) { var yolo = this.id; switch(yolo) { case "chkBox1": break;

我正在构建一个jQuery脚本,我在理解每件事情的工作原理时遇到了问题,所以基本上我将创建一个函数,而不是重写大量代码,所以我就是这样做的:

$('.chkboxes').on("change", ":checkbox", function () {
   if (this.checked) {                
       var yolo = this.id;
       switch(yolo) {
       case "chkBox1":
       break;
       case "chkBox2":
       addfield("yolo" , "yolo", "text", "yolo");
       break;
    }
}
然后我有一个名为“addfield”的函数:

函数addfield(类、名称、类型、id){
变量字段字符串=“”+名称+“”;
警报(字段字符串);
$(fieldstring.hide().appendTo(wrapper.fadeIn)(999);
}

但是我没有让它工作,我应该怎么做,我一直把函数看作java方法,但它没有按照我希望的方式工作!感谢您的帮助

不允许在变量名中使用诸如
class
var
new
等关键字,因此您应该更改

function addfield(class, name, type, id) {
  var fieldstring = '<tr class=" ' + class + '"><td>' + name + '</td><td><input type="' + type + '"            id="' + id + '" name ="' + name + '" /></td></tr>';
   alert(fieldstring);
   $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}
第二个是
this.id
,将其更改为
$(this.attr('id')

顺便说一句,不要使用switch,在这种情况下,
if()。。否则
会更好。

制作一个演示怎么样?你不能在Javascript中使用
作为标识符:它是一个保留字。另外,看看你的代码,你想用$(this)(jquery“this”)而不是通用的Javascript“this”。当你在世界某个地方用“yolo”作为开发人员的测试词时,函数作为java方法?你一直在哪里看到这个?这是什么意思?
function addfield(class, name, type, id) {
  var fieldstring = '<tr class=" ' + class + '"><td>' + name + '</td><td><input type="' + type + '"            id="' + id + '" name ="' + name + '" /></td></tr>';
   alert(fieldstring);
   $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}
 function addfield(someArgRepresentsClass, name, type, id) {
  var fieldstring = '<tr class=" ' + someArgRepresentsClass + '"><td>' + name + '</td><td><input type="' + type + '"            id="' + id + '" name ="' + name + '" /></td></tr>';
   alert(fieldstring);
   $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}
$('.chkboxes').on("change", ":checkbox", function () {
    var $this = $(this);
    if ($this.is(':checked')) {

        var yolo = $this.attr('id');
        if (yolo == "chkBox1"){ 
           break;
        } else if (yolo == "chkBox2"){
          addfield("yolo" , "yolo", "text", "yolo");
          break;
        }
    }
}