如何将参数(“Id和类”)传递给jquery中的函数?

时间:2017-11-29 14:09:11

标签: jquery html

我正在尝试使用jquery中的参数在函数中传递2个id。我不知道我的代码有什么问题。请帮我解决这个问题。我的代码不工作。如何使用jquery函数?在下面的代码中,我正在尝试为每个字段编写多个函数。我想只编写一个函数并通过参数调用它。如何做到这一点?请告诉我。该功能不在.click内。它在控制台中显示错误为“Uncaught TypeError:无法设置属性'innerHTML'为null”(“将'#demo'值显示为null”);.这是我的代码。为什么它将demo显示为null我没有得到。另外,我们可以组合jquery和javascript并编写代码吗?我编写代码的方式是否正确?代码无效。另外,请提供jQuery中函数参数的链接。 readonly类既不会添加到输入字段类,也不会在单击后启用。我不明白我的代码有什么不对。

我的Jquery代码

    function myFunc(a, b)
        {
          console.log("enable and disable");
          $('a').click(function(){
           console.log("change to enable");
          if($(this).parents('.info-details').find('b').hasClass('readonly')){
           $(this).parents('.info-details').find('b').removeClass('readonly');
           $("b").prop("disabled", true);
          }
          else {
            $(this).parents('.info-details').find('b').addClass('readonly');
            $("b").prop("disabled", false);
          }
        });
      }
      document.getElementById("#demo").innerHTML = myFunc('#edit_data_email, #change_email');
    document.getElementById("#demo").innerHTML = myFunc('#edit_data_phone, #change_phone');

在下面的代码中,它们完全相同。此代码仅用于演示目的。

代码演示

        <body>
        <p>Setting a default value to a function parameter.</p>
        <p id="demo"></p>
        <p id="demo1"></p>
        <script>
        function myFunction(x, y) {
            if (y === undefined) {
                y = 0;}    
        return x * y;
        }
        document.getElementById("demo").innerHTML = myFunction(4, 12);
        document.getElementById("demo1").innerHTML = myFunction(4, 12);
        </script>
        </body>

我希望我的代码通过传递参数以这种方式工作。在这个例子中,他们将参数传递给参数。我正在尝试同样的事情,但它仍然没有用。

1 个答案:

答案 0 :(得分:1)

您的代码有多个错误..

我创建了一个fiddle,其中包含完整的代码供参考。

  1. 与注释中指出的@ ztadic91一样,您必须使用不带引号的变量:
  2. 工作示例:

    var a = 1;
    alert(a);
    

    工作示例:

    var a = 1;
    alert("a");
    
    1. 您只传递一个参数。你必须单独引用两个论点:
    2. 你做的是:

      myFunc('a, b');
      

      但是你需要单独引用它们两个:

      myFunc('a', 'b');
      
      1. 您在html中填写函数结果,这是未定义的。只需在没有.innerHTML = ...内容的情况下调用该函数。
        1. 如果您使用document.getElementById('...'),则不需要#表明它是一个类。
        2. 另一件事是,并非你的所有代码都是jQuery它也可以工作,如果它不是jQuery但是jQuery语法更短,替换它:

          document.getElementById("#demo").innerHTML = ...;
          

          用这个

          $("#demo").html(...);
          

          在解决了所有这些错误之后,我建议您在学习平台之前学习jQuery,然后再提出难以阅读且不易重现的问题......

          快乐编码, Kalasch