Mouseover Ajax无法正常工作

时间:2013-12-04 21:07:37

标签: javascript jquery mouseover

我正在创建一个小网站,当我将鼠标移到它上面时,我正试图让文本发生变化,但是它不起作用,有人可以告诉我为什么吗?

<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>

谢谢!

3 个答案:

答案 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>

=

之前和之后的Ommit空格
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')">,则您的脚本无效。因为您要使用"结束声明。

因此,如果您想使用"作为字符串使用转义字符,就像我一样。 \"

现在编译器将"作为字符串而不是声明结束字符。