在站点的另一个位置运行 java 脚本

Running java script at another place of site

本文关键字:运行 java 脚本 位置 另一个 站点      更新时间:2023-09-26

我也通过互联网和这个网站搜索了,但没有找到答案。我想运行一个javascript代码,它将浏览我网站上的文章并选择和打印其中的一些。当我在这篇文章之后运行它时,该脚本运行良好:

[关于智能手机的文章]

[显示(打印)一些有关智能手机的文章的脚本]

显然,它工作正常,因为脚本有要搜索的内容 - 文章已经出现在网站上,所以javascript可以接受一些元素。

但我想颠倒顺序:

[在那里显示一些关于智能手机的文章]

[在那里显示有关智能手机的文章]

假设我应该在加载文章后运行脚本,而不是更改由脚本打印的元素的位置。我可以用立场做到这一点:绝对;但它对我来说看起来不太优雅,我希望有另一种方法来解决我的问题。我在另一个地方尝试了身体加载和运行功能,但我还没有做到这一点。

感谢您的任何帮助和建议:)

我想你正在使用document.write来生成HTML代码以重新显示一些文章。你不应该使用document.write。相反,将脚本放在文档的最末尾,以确保所有 HTML 选项都已存在于 DOM 中。然后创建一个新的 HTMLNode,例如一个div,并将其放在您想要的位置,或者从 DOM 中选择一个并将您的新 HTML 放入该节点(最简单的方法是设置 innerHTML )。例如:

<body>
  <div id="some_articles">
  </div>
  <div id="all_articles">
    <!--- here is the code for all articles -->
  </div>
  <script>
    var div = document.getElementById('some_articles');
    div.innerHTML = '<!-- code for some of the articles -->';
  </script>
</body>

然而,这是非常基本的Javascript知识。你真的应该读一本关于Javascript和DOM编程的好教程或书。

目前还不完全清楚您要对脚本执行的操作。 脚本不能引用在脚本之后加载的 DOM 元素。 因此,如果这是您要执行的操作,那么您的脚本必须放置在加载这些 DOM 元素之后,或者必须等到加载这些元素后才能执行。

如果您只是尝试对现有 DOM 元素重新排序,则可以使用 removeChildappendChildinsertBefore 在页面布局流中重新定位 DOM 元素以更改顺序。

如果希望查看器看不到原始顺序,则可以设置初始 CSS 规则,以便文章最初不可见,然后可以对它们重新排序并使其可见。 查看者只能看到最终顺序。

如果你想要更具体的建议,我建议你你的实际代码,这样我们就可以看到它实际上在做,这样我们就可以更具体地建议。

相关文章: