我正在创建一个小网站,当我将鼠标移到它上面时,我正试图让文本发生变化,但是它不起作用,有人可以告诉我为什么吗?
<xsl:template match="/">
<html>
<head><center>
<script type = "text/javascript">
function changeText(msg) {
var targetDiv = document.getElementById("changeDIV");
if (msg == "A") {
targetDiv.innerHTML = "<p><h1 onmouseover="changeText('B')"> Please work sadface</h1></p>";
} else if (msg == "B") {
targetDiv.innerHTML = "<p><h1 onmouseover="changeText('A')"> Irish Presidents Wiki </h1></p>";
}
}
</script>
</center>
</head>
<body><center>
<div id = "changeDIV"><p><h1 onmouseover = "changeText('A')">Irish Presidents Wiki</h1></p></div>
谢谢!
答案 0 :(得分:0)
一个问题是由错误格式化的双引号引起的,试试这个:
<script type = "text/javascript">
function changeText(msg) {
var targetDiv = document.getElementById("changeDIV");
if (msg == "A") {
targetDiv.innerHTML = "<p><h1 onmouseover=\"changeText('B')\"> Please work sadface</h1></p>";
} else if (msg == "B") {
targetDiv.innerHTML = "<p><h1 onmouseover=\"changeText('A')\"> Irish Presidents Wiki </h1></p>";
}
}
</script>
答案 1 :(得分:0)
除上述内容外:
<div id="changeDIV">
<p>
<h1 onMouseOver="changeText('A');">Irish Presidents Wiki</h1>
</p>
</div>
=
function changeText(msg) {
var targetDiv = document.getElementById("changeDIV");
if (msg == "A") {
targetDiv.innerHTML = "y";
} else if (msg == "B") {
targetDiv.innerHTML = "x";
}
}
onMouseOver是CaMeLcAsE
忘了:jsfiddle here
答案 2 :(得分:0)
首先尝试清楚。这在每种编程语言中都非常重要。
第二件重要的事情是:不,不要在<center>
中使用<head>
,因为<center>
只能用于body
,这与您网站的视觉方面有关。
这是你的解决方案:
<html>
<head>
<script type="text/javascript">
function changeText(msg) {
var targetDiv = document.getElementById("changeDIV");
if (msg == "A") {
targetDiv.innerHTML = "<p><h1 onmouseover=\"changeText('B')\"> Please work sadface</h1></p>";
} else if (msg == "B") {
targetDiv.innerHTML = "<p><h1 onmouseover=\"changeText('A')\"> Irish Presidents Wiki </h1></p>";
}
}
</script>
</head>
<body>
<center>
<div id="changeDIV">
<p>
<h1 onmouseover="changeText('A')">Irish Presidents Wiki</h1>
</p>
</div>
</center>
</body>
</html>
但是你的错误也很重要,因为你必须提高自己才能变得更好。
targetDiv.innerHTML = "<p><h1 onmouseover=\"changeText('B')\"> Please work sadface</h1></p>";
您不能在以相同类型开头的字符串中使用"
,'
。
您使用"
== targetDiv.innerHTML = "
如果您在"
添加onmouseover="changeText('B')">
,则您的脚本无效。因为您要使用"
结束声明。
因此,如果您想使用"
作为字符串使用转义字符,就像我一样。 \"
现在编译器将"
作为字符串而不是声明结束字符。