.prepend 不是函数

Ven*_*kat 1 html javascript jquery function prepend

请考虑以下示例代码:

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $("#btn1").click(function(){
                    var btn = document.createElement("BUTTON");     
                    btn.prepend("<b>Prepended text</b>. ");
                });
            });
        </script>
    </head>
    <body>
        <p>This is a paragraph.</p>
        <button id="btn1">Prepend text</button>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

上面的代码在控制台中抛出错误,如下所示:

btn.prepend 不是函数

为什么会出现这个错误?请提出一个解决方案。谢谢

Pra*_*man 5

请不要关注 W3Schools 的低质量文章。对于您的解决方案:

  • 不是btnjQuery 对象。它是一个 JavaScript HTMLElement
  • .prepend()函数是一个 jQuery 函数。

您的代码现在应该是:

$(document).ready(function(){
  $("#btn1").click(function(){
    var btn = $(this);
    btn.prepend("<b>Prepended text</b>. ");
  });
});
Run Code Online (Sandbox Code Playgroud)

工作片段

$(document).ready(function(){
  $("#btn1").click(function(){
    var btn = $(this);
    btn.prepend("<b>Prepended text</b>. ");
  });
});
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
  $("#btn1").click(function(){
    var btn = $(this);
    btn.prepend("<b>Prepended text</b>. ");
  });
});
Run Code Online (Sandbox Code Playgroud)

请参阅上面的工作片段。单击Run Code Snippet并单击里面的按钮。