Kako radi Blog.hr?

JS problemi na rozza.blog.hr

Interesantan toggler nalazi se na http://rozza.blog.hr:

<_!-- Prvi box -->
<_span><_span><_input value="" class="gumbic1" onclick="if (this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = '';this.innerText = ''; this.value = ''; } else { this.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = 'none'; this.innerText = ''; this.value = ''; }" title="" type="button" /><_/span><_span><_span style="display: none;">
ovdje ide sadržaj
<_/span>
<_/span>
<_/span>
<_!-- Kraj -->

Kupus! HTML izgleda ovako:

<_!-- Prvi box -->
<_span>
<_span>
<_input />
<_/span>
<_span>
<_span>
sadržaj
<_/span>
<_/span>
<_/span>
<_!-- Kraj -->

Kako bi bilo da se JavaScript izdvoji iz HTML-a?

<_script type="text/javascript">
onload = function() {
document.getElementsByTagName('input')[0].onclick = clc;
}
function clc() {
var t = this;
if (t.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display != '') {
t.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = '';
t.innerText = '';
t.value = ''; //zatvori
}
else {
t.parentNode.parentNode.getElementsByTagName('span')[1].getElementsByTagName('span')[0].style.display = 'none';
t.innerText = '';
t.value = ''; //otvori
}
}
<_/script>

Budući da se parentNode i getElementsByTagName pojavljuju više puta, kôd se može još skratiti:

// …
function clc() {
var t = this.parentNode.nextSibling.firstChild;
t.style.display = t.style.display !=='' ? '' : 'none';
}

JS na kraju izgleda ovako:

<_script type="text/javascript">
onload = function() {
document.getElementsByTagName('input')[0].onclick = clc;
}

function clc() {
var t = this.parentNode.nextSibling.firstChild;
t.style.display = t.style.display !=='' ? '' : 'none';
}
<_/script>
  • Komentiraj
  • Upute +
  • URL stranice +
    • Ako želite navesti izvor, koristite ovaj HTML kôd:
  • Na vrh

Komentari

Creative Commons License
Ovaj blog je ustupljen pod Creative Commons licencom Imenovanje-Nekomercijalno-Dijeli pod istim uvjetima.