Problem dotyczy rozwijanego diva za pomocą takiego JS:

  1. <script type="text/javascript">
  2. function toggle( link )
  3. {
  4. var node = link.parentNode;
  5. // while loop not needed in code as shown, but here just in case:
  6. while ( node.tagName != "DIV" )
  7. {
  8. node = node.parentNode;
  9. if ( node == null ) return; // abort
  10. }
  11. var hider = node.getElementsByTagName("div")[0];
  12.  
  13.  
  14. link.innerHTML = ( link.innerHTML == "<img src='images/index/minus.png'>" ) ? "<img src=images/index/plus.png>" : "<img src='images/index/minus.png'>";
  15. hider.style.display = ( link.innerHTML == "<img src='images/index/minus.png'>" ) ? "none" : "block";
  16.  
  17. return false; // so the href does nothing
  18. }


Wywołuję to za pomocą:

  1. <a href="java script:;" onclick="toggle(this);">a</a>


Problemem jest to, że jeśli za chowanie i pokazywanie diva odpowiada <img src='images/index/minus.png'> oraz <img src='images/index/plus.png'> to skrypt nie działa, w przypadku kiedy umieszczę jakikolwiek tekst wszystko jest ok. Od piątku się z tym męczę, kombinowałem z document.write w celu osadzenia tagów html js... ale bez skutku - cóż, to moja pierwsza styczność z JS.


Dziękuję za pomoc.

Ok, już sobie poradziłem. Przekombinowałem z " i zapomniałem o \ przed " smile.gif

Niby sobie poradziłem, ale nie do końca. Wszędzie poprawiony kod działa, poza IE (ver. 8). Sądziłem, ze problem dotyczy onclick, jednak chyba nie - bo po zastąpieniu
  1. link.innerHTML = ( link.innerHTML == "Dopasuj do motocykla<img src=\"images/index/minus.png\">" ) ? "Dopasuj do motocykla<img src=\"images/index/plus.png\">" : "Dopasuj do motocykla<img src=\"images/index/minus.png\">";
tekstem bez grafiki kod działa w każdej przeglądarce.