2013-12-04 2 views
0

Я делаю небольшой сайт, и я пытаюсь изменить текст, когда я навешиваю его, но он не работает, может ли кто-нибудь сказать мне, почему?Mouseover Ajax не работает

<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

Одна проблема вызвана неправильным отформатированных в двойные кавычки, попробуйте следующее:

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

Спасибо, я знал, что я кое-что рассмотрел. – user3067636

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

+0

Отлично, спасибо! Сейчас он работает. – user3067636

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')"> вашего сценария не будут работать. Потому что вы заканчиваете свою декларацию ".

Так что если вы хотите использовать " как строку, используйте escape-символ, как я. \"

Теперь компилятор примет " как строку, не являющуюся символом конца объявления.

+0

Спасибо, я понял – user3067636

Смежные вопросы