我在一个网站上有这个工作,我试图重新创建它,但现在它没有工作......我希望通过Javascript替换内容,在没有加载的情况下更改内容。
这是HTML:
<li><a onclick="mish()">Click me</a></li>
<div id="about">
<h2>Im a header.</h2>
<p>And Im a paragraph!</p>
</div>
这是JS,位于外部.js文件中:
function mish()
{
document.getElementById("about").innerHTML='<h2>Header am I.</h2>
<p>Paragraph am I and too.</p>';
}
并且它们与html的头部中的这一行相关联(我也在体内试过):
<script type="text/javascript" src="script.js"></script>
同样,我复制了我所做的其他网站上的所有代码,这些代码仍然有效,所以我非常不知道为什么这个代码无效。
编辑:这是头部:
<head>
<title>Shaq</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="script.js"></script>
</head>
DOUBLE EDIT:和整个身体:
<body>
<div class="crusty">
<div class="content">
<nav>
<ul>
<li><a onclick="bout()">Click Me</a></li>
<li><a onclick="mish()">Click Me</a></li>
</ul>
</nav>
<div class="actual">
<div id="about">
<h2>Im a Header</h2>
<p>And Im a Paragraph</p>
</div>
</div><!-- end actual -->
</div><!-- end content-->
</div><!-- end crusty -->
</body>
和TRIPLE EDIT显示.js文件的确切内容:
function mish() {
document.getElementById("about").innerHTML = '<h2>Header am I.</h2>'+ '<p>Paragraph am I and too.</p>';
}
答案 0 :(得分:1)
在JavaScript中编写多行字符串的常见做法如下。目前,您在字符串中有一个换行符(未转义),这在JavaScript中是不允许的。
function mish() {
document.getElementById("about").innerHTML = [
'<h2>Header am I.</h2>',
'<p>Paragraph am I and too.</p>'].join('\n');
}
主要内容是换行符可以在JavaScript字符串中以\n
形式传达。
答案 1 :(得分:1)
您已发布代码片段,但未向我们显示完整的HTML。尝试使用此代码,因为这是你应该这样做的。
<html>
<head>
<script type="text/javascript">
function mish() {
document.getElementById("about").innerHTML = '<h2>Header am I.</h2><p>Paragraph am I and too.</p>';
}
</script>
</head>
<body>
<li><a onclick="javascript:mish();">Click me</a>
</li>
<div id="about">
<h2>Im a header.</h2>
<p>And Im a paragraph!</p>
</div>
</body>
</html>
这应该有效。检查你在做什么不同。
如果您使用JS的外部文件,请将以下代码复制到JS文件中:
function mish() {
document.getElementById("about").innerHTML = '<h2>Header am I.</h2><p>Paragraph am I and too.</p>';
}
确保不要将其包含在<Script></script>
标记内。你不需要这个。
然后将此JS文件保存在HTML文件的确切位置。
最后在你的头部分包括这个:
<script type="text/javascript" src="script.js"></script>
而且,这必须起作用。