Почему это не работает в Firefox, но отлично работает в IE - PullRequest
0 голосов
/ 09 декабря 2010

Когда я щелкаю строку в IE, он вызывает метод hello () и работает нормально, но не в Firefox. Я подозреваю эту строку

tr align="left" bgcolor="eeeeee" style="padding-top: 3px; cursor: pointer;">

потому что когда я удаляю его, он работает вроде

<script language="javascript" type="text/javascript">
    function hello(){
    alert('hello');
    }
</script>
<span style="" onclick="hello();"
    onmouseover="this.children[0].style.backgroundColor='#D8EEEE'; this.children[1].style.backgroundColor='#D8EEEE';"
    onmouseout="this.children[0].style.backgroundColor=''; this.children[1].style.backgroundColor='';">
<tr align="left" bgcolor="eeeeee">
    style="padding-top: 3px; cursor: pointer;">
    <td class="blueFont" style="font-weight: bold; <%=style%>">

Я уже пытался удалить точку с запятой из onclick

Ответы [ 2 ]

3 голосов
/ 09 декабря 2010

HTML-код недействителен, элемент <span> не может содержать элемент <tr>. Firefox и Internet Explorer пытаются восстановиться после этого разными способами.

IIRC, Internet Explorer в любом случае обернет <tr> <span>, в то время как Firefox будет перемещать <span>, так что это после окончания <table>. В результате дочерний элемент диапазона, к которому вы пытаетесь обратиться, не существует.

Начните с действительный HTML . Вы можете использовать элементы <thead>, <tfoot> и <tbody> для маркировки разделов таблицы.

2 голосов
/ 09 декабря 2010

Потому что у вас есть «tr» внутри «span»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...