середу, липня 15, 2009

Хибки браузерів

Дещо недавно виявив що в мене не процював скрипт у IE із-за того що property "cellIndex" у "td" вертає індекс серед відображених елеметнів. На це property впливає style="display: none;".

<html>
<table border="1">
<tr>
<td style="display:none;">content of cell </td>
<td>
<input
onclick="alert('func:' + cellIndex(this.parentNode) + ' prop:' + this.parentNode.cellIndex)"
type="button" value="push">
</td>
<tr>
</table>

<script>
function cellIndex(cellEl) {
var cells = cellEl.parentNode.cells;
for(var i = 0; i < cells.length; i++) {
if (cellEl === cells[i]) {
return i;
}
}
}
</script>
</html>



Iнша особливість трапислась при видалені елементів "option" у "select". Виявляється що колекція "options" у Firefox не має методу "remove".
Для видалення усіх елементів можна користуватись "selectElement.options.length = 0".
Для видалення одного елементу
selectElement.removeChild(selectElement.options[0])
або
selectElement.removeChild(selectElement.firstChild)

Немає коментарів:

Чи подобається вам браузер Opera