【问题标题】:Place content in JavaScript (HTML files)将内容放入 JavaScript(HTML 文件)
【发布时间】:2010-01-19 10:48:18
【问题描述】:

如何在 JavaScript 中放置内容(例如:简单文本)?

我需要它像 youtube 一样,视频仅在启用 JavaScript 的浏览器上可见。

谢谢。

【问题讨论】:

  • 你说的内容是指标题吗?
  • @cesar-lopez,不,我的意思可能是一些文字、一些链接或视频(如 youtube)
  • 那我想安迪回答了你的问题。 :-)
  • 如果安迪的回答回答了您的问题(您的评论表明确实如此),请接受他的回答,以免人们将时间浪费在其他解释上。如果没有,您能否提供有关您实际尝试做的更多信息?例如,David Hedlund 为这个问题的一个合理解释提供了一个非常有用和彻底的答案,但我怀疑这不是你想要做的。
  • @t-j-crowder,还有一个,我还需要将php代码放入JavaScript中。例如,这段代码:

标签: javascript html


【解决方案1】:

使用 noscript 标签,像这样:

<script type="text/javascript">
document.write("Hello World!")
</script>
<noscript>
Your browser does not support JavaScript!
</noscript>

您可能还想考虑将脚本放在某种 HTML 注释中,以便甚至不知道脚本的浏览器不会呈现源代码,例如:

<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>

【讨论】:

  • Re: "您可能还想考虑将脚本放在某种 HTML 注释中,这样甚至不知道脚本的浏览器就不会呈现源代码... " 已经十多年没有这样做的必要了。
【解决方案2】:

您需要将一个新的 DOM 节点附加到 DOM(文档对象模型)。

最简单的应该是这样的:

var myNewNode = document.createTextNode('abc');

对于所有更高级的节点,您可以按如下方式创建它们:

var myNewNode = document.createElement('div');
myNewNode.className = 'cssClass';
myNewNode.innerHTML = 'abc';

然而,比设置“innerHTML”更简洁一些的方法是,尤其是如果您要添加复杂的内容,并且想要将事件连接到它等等,就是将子节点添加到该节点:

var myNewNode = document.createElement('div');

var myChildNode = document.createElement('input');
myChildNode.type = 'button';
myChildNode.value = 'Click me';

myNewNode.appendChild(myChildNode);

那么,假设您已经以上述任何一种方式创建了myNewNode,您只需在文档中找到要添加新节点的位置,然后将其插入:

document.body.appendChild(myNewNode);

document.getElementById('container').appendChild(myNewNode);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 2017-03-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多