对 js 文件中的 html 内容执行 javascript

发布于 2024-12-21 05:34:37 字数 842 浏览 0 评论 0原文

这是一个很让人头疼的问题。

我有一个简单的 js 文件,只包含 document.write() html 内容块,我需要对其执行 jquery。

从长远来看,js 文件包含如下内容:

<script language="JavaScript" src="http://external-java-file.js"/>

将新闻转储到一批 div 中。问题是,我需要在每个单独的文章div上执行javascript(将其包含到自定义javascript“滚动器”中)。无论如何,我是否可以首先“隐藏”整个新闻块,然后为每个div添加它这是我的滚动条。 基本上我从 js 文件中得到了这个:

<div class="newsContainer">
<div class="newsArticle">bla bla bla</div>
<div class="newsArticle">bla bla bla</div>
<div class="newsArticle">bla bla bla</div>
</div>

因为它都是通过 document.write 来自这个令人讨厌的外部 js 文件,所以我无法使用像这样的单独代码块访问它:

<script>
$(document).onload(function(){
$("div.newsContainer").css("display","none");
});
</script>

我很确定我在末尾这条路,但我想看看是否有聪明人有巧妙的解决方案

This is a big headache.

I have a simple js file consisting of nothing but document.write() blocks of html content, that I need to perform jquery on.

To put things in perspective, the js file, included like this:

<script language="JavaScript" src="http://external-java-file.js"/>

dumps news in a batch of div's. the trouble is, I need to perform javascript on each seperate article-div (to include it into a custom javascript "scroller". is there anyway for me to firstly "hide" the entire block of news, and then per-div add it it my scroller.
Basically I have this from the js file:

<div class="newsContainer">
<div class="newsArticle">bla bla bla</div>
<div class="newsArticle">bla bla bla</div>
<div class="newsArticle">bla bla bla</div>
</div>

Since it's all coming from this stinking external js file through document.write, I can't access it with a seperate code block like this:

<script>
$(document).onload(function(){
$("div.newsContainer").css("display","none");
});
</script>

I'm pretty sure I'm at the end of the road, but I'd like to see if any smart minds have genious solution

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北方的韩爷 2024-12-28 05:34:37

你想使用

$(document).ready(function() {
// .. put code here.
});

这将确保页面和其他 JS 已首先加载。

Firefox 中的 Firebug 控制台是您的朋友,因为您将能够在页面上测试您的 jQuery。

You want to use

$(document).ready(function() {
// .. put code here.
});

This will make sure the page and other JS has loaded first.

Firebug console in Firefox is your friend, as you will be able to test your jQuery on the page.

撑一把青伞 2024-12-28 05:34:37

试试这个:

HTML

<div id="news">
    <script language="JavaScript" src="http://external-java-file.js"/>
</div>

JavaScript

$(function() {
    $('#news .newsArticle').hide();
});

如果脚本使用 document.write(),那么一旦页面加载并以这种方式编辑它,您将能够访问它的容器 #news。

Try this:

HTML

<div id="news">
    <script language="JavaScript" src="http://external-java-file.js"/>
</div>

JavaScript

$(function() {
    $('#news .newsArticle').hide();
});

If the script is using document.write(), then you will be able to access it's container, #news, once the page has loaded and edit it that way.

擦肩而过的背影 2024-12-28 05:34:37

创建一个 css 样式来最初隐藏 newsContainer:

.newsContainer {
  display: none;
}

然后在 jQuery 的文档就绪函数中添加其他内容:

$(function() {
  // do your stuff here
});

如果您不知道外部脚本何时对新闻 div 起作用,请使用 JavaScript 的 setTimeout< /代码>。完成后还记得将 .newsContainer 设置为可见。

Make a css style to hide the newsContainer initially:

.newsContainer {
  display: none;
}

Then add your other stuff in the document ready function of jQuery:

$(function() {
  // do your stuff here
});

If you don't know when that external script does it's job with the news divs, make use of JavaScript's setTimeout. Also remember to set .newsContainer to visible after you're done.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文