Απόκρυψη της διπλής εμφάνισης ενός στοιχείου - Βοήθεια!

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
zekia
Δημοσιεύσεις: 146
Εγγραφή: 04 Μάιος 2004 16:38
Τοποθεσία: thessaloniki

Απόκρυψη της διπλής εμφάνισης ενός στοιχείου - Βοήθεια!

Δημοσίευση από zekia » 30 Απρ 2009 11:39

Γειά σας,
χρησιμοποιώ ένα component σε joomla το οποίο έχει κάποιου είδους bug στον IE6. Παράγει δύο φορές έναν πίνακα αντί για μια. Και αυτό συμβαίνει μόνο στον ΙΕ6 ενώ στους υπόλοιπους browsers λειτουργεί κανονικά. Δυστυχώς η ομάδα που το έφτιαξε δεν ασχολείται και δε με βοήθησε. Προσπάθησα να λύσω μόνη μου το πρόβλημα μελετώντας τους κώδικες του componet αλλά δε βρήκα κάτι.

Έτσι σκέφτηκα να φτιάξω ένα javascript που να εντοπίζει αυτή τη δεύτερη εμφάνιση του πίνακα και να την κάνει μη ορατή. Βρήκα το παρακάτω

Κώδικας: Επιλογή όλων

<head>
<script type="text/javascript">
function eliminateDuplicateId&#40;id&#41;&#123; // keeps the first element with a given id, discards all others
  var el=document.getElementById&#40;id&#41;;
  if&#40;!el&#41; return;
  var ns=el.nextSibling;
  var par=el.parentNode;
  par.removeChild&#40;el&#41;; // detach temporarily
  var more;
  while&#40;more = document.getElementById&#40;id&#41;&#41;&#123; // yes I meant = and not ==
     more.parentNode.removeChild&#40;more&#41;;
  &#125;
  // reattach our element
  if&#40;ns&#41;&#123;
    par.insertBefore&#40;el,ns&#41;;
  &#125;
  else&#123;
    parent.appendChild&#40;el&#41;;
  &#125;
&#125;
</script>
</head>

<body onload="eliminateDuplicateId&#40;'duplicated_table_id'&#41;">
....
</body>
και με τον παραπάνω κώδικα συμβαίνει το εξής παράδοξο. Στον IE6 διαγράφει και τους δύο πίνακες με το συγκεκριμένο id ενώ στους υπόλοιπους browsers ο πίνακας συνεχίζει να υπάρχει. Είναι πολύ περίεργο και πραγματικά δεν ξέρω τι άλλο να κάνω. Μπορείτε να με βοηθήσετε και να μου δώσετε μια ιδέα του τι μπορεί να πάει στραβά;;

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες