【问题标题】:Can someone explain to me how this is possible? (Picture in comments)有人可以向我解释这是怎么可能的吗? (图片见评论)
【发布时间】:2013-09-20 20:56:45
【问题描述】:

所以我试图在 notepad++ 中链接我的 html 和 javascript 文件,但它不能正常工作。

我想知道它如何编写测试,但不删除 div。谁能解释一下?提前致谢!

【问题讨论】:

  • 您正在尝试使用 jQuery 而不链接 jQuery。而且您正试图在元素存在之前选择它。
  • 请尽量贴代码而不是代码图片。
  • 不确定是否要在 Notepad++ 文件夹中编写 HTML 等,顺便说一句。
  • 好吧,我的错误,愚蠢的错误。对不起!

标签: javascript html notepad++


【解决方案1】:

1,jQuery 没有链接。这意味着,您的 HTML 中没有 <script type='text/javascript' src='myjQueryfile.js'></script>,您需要将其放在脚本之前。

2: 因为ID为blue的元素还不存在。 DOM - 基本上是您的 HTML 的对象 - 在您的脚本运行时尚未构建,在这种情况下是页面的顶部,在 blue 出现之前。你需要使用一个事件来解决这个问题,通常是$(function(){ ... });,它会在 DOM 准备好时执行你的代码。

另外,document.write 只是编写代码然后 那里,这意味着在进行 document.write 调用的确切位置,将输出 HTML。

【讨论】:

    【解决方案2】:

    你应该已经链接了 jquery。您试图在没有链接的情况下使用它。

    【讨论】:

      【解决方案3】:

      脚本加载到头部。在脚本执行的时候,文档的主体没有被构建,所以没有任何东西被删除。如果您要使用 document.ready 回调(并正确包含 jQuery),它会起作用

      $(function(){ $("#blue").remove(); });
      

      这是一个普通的 js 版本

      window.onload = function(){ 
       var b = document.getElementById("blue");
       b.parentNode.remove(b);
      };
      

      【讨论】:

        【解决方案4】:

        在脚本运行时,只有

        document.addEventListener("DOMContentLoaded", function(event) {
            $("#blue").remove();
        });
        

        【讨论】:

          猜你喜欢
          • 2022-01-22
          • 1970-01-01
          • 2011-08-20
          • 1970-01-01
          • 1970-01-01
          • 2022-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多