2009-10-05 2 views
2

У меня есть список с несколькими строками, и каждый список имеет кнопку добавления и редактирования, которая вызывает форму;jQuery 1.3.2 insertBefore не работает в IE8


$('#addOrEditForm').insertBefore("#"+rowId); 
 

Любые идеи, почему это работает в любом другом браузере, но IE8? мы используем jQuery 1.3.2.

спасибо.


ЛЮБЫЕ ОБНОВЛЕНИЯ НА ЭТОЙ

Это просто упрощение коды, который дублирует эту проблему, что у меня с InsertBefore использования IE8 ТОЛЬКО. просто скопировать и вставить весь этот код в тестовый файл, а затем изменить

<script type="text/javascript" src="/Library/jQuery/jquery.min.js"> </script> 

использовать библиотеку JQuery 1.3.2. и он должен работать!

спасибо.

<html> 
<head> 

<title>Insert title here </title> 

<script type="text/javascript" src="/Library/jQuery/jquery.min.js"> </script> 
<script> 
 

$(document).ready(function() { 

    $('#linkListLinkOutput').click(function(event) { 
      if ($(event.target).parents('tr').attr('id')) { 
       var link = $(event.target).parents('tr').attr('id').split('_'); 
      } 

      if ($(event.target).hasClass('nav_new')) { 
      removeAddAndEditLinkForms(); 
      showAddLinkForm($(event.target).parents('tr').attr('id'), link[2], link[3]); 
      return false; 
     } 
     return false; 
    }); 



    function removeAddAndEditLinkForms() { 
    removeAddLinkForm(); 
    } 

    function removeAddLinkForm() { 
     $('#addLinkListLink') 
      .hide() 
      .appendTo('#linkListLinks'); 
    } 

    function showAddLinkForm(link, parentId, position) { 
     $('#addLinkListLink form input[name="parentId"]').attr('value', parentId); 
     $('#addLinkListLink form input[name="position"]').attr('value', position); 
     $('#addLinkListLink') 
     .insertBefore("#" + link) 
     .fadeIn(); 
     console.log('Link List name: ' + $('#addLinkListLink').attr('id')); 
    } 

}); 

 
</script> 
</head> 
<body> 

<div id="content"> 
<div id="statusMessage"/> 
<div id="linkListLinkOutput"> 
<table class="hierarchical widthFull" id="linkListLinks" border=1> 
<tbody> 
<tr class="head"> 
<th>Name </th> 
<th>Link </th> 
<th>Image </th> 
<th style="width: 75px;">Options </th> 
</tr> 
<tr id="1678_6_0_1"> 
<td style="padding-left: 40px;" class="level1"> <a class="nav_down" href="#">Down </a> Worship Net </td> 
<td>None </td> 
<td>Beautiful Sky: beautiful-sky.jpg </td> 
<td> <a title="Add a link at this position" class="nav_new" href="#">Add </a>  <a title="Edit is not functional in this example" >Edit </a>  <a title="Delete is not functional in this example" >Delete </a> </td> 
</tr> 
<tr id="4159_6_0_2"> 
<td style="padding-left: 40px;" class="level1"> <a class="nav_up" href="#">Up </a>  <a class="nav_down" href="#">Down </a> many many many links </td> 
<td>None </td> 
<td>None </td> 
<td> <a title="Add a link at this position" class="nav_new" href="#">Add </a>  <a title="Edit is not functional in this example" >Edit </a>  <a title="Delete is not functional in this example" >Delete </a> </td> 
</tr> 
<tr id="4161_6_0_10"> 
<td style="padding-left: 40px;" class="level1"> <a class="nav_up" href="#">Up </a> MOre and more links </td> 
<td>None </td> 
<td>None </td> 
<td> <a title="Add a link at this position" class="nav_new" href="#">Add </a>  <a title="Edit is not functional in this example" >Edit </a>  <a title="Delete is not functional in this example" >Delete </a> </td> 
</tr> 
<tr style="display: none;" id="addLinkListLink"> 
<td colspan="4"> 

<form method="post" action="Capture.php" class="tempForm" id="addLinkListLinkForm" name="addLinkListLinkForm"> 
<table> <tbody> <tr> <th> <label for="name">Name: </label> </th> <td> <input type="text" value="" maxlength="255" id="name" name="name"/> </td> </tr> 
<tr> <th> <label for="text">Description: </label> </th> <td> <textarea id="text" name="text"/>  </textarea> </td> </tr> </tbody> </table> <input type="submit" value="Save" name="saveButton" class="blah"/> <input type="submit" value="Cancel" name="cancelButton" class="blah cancel"/> <input type="hidden" value="0" name="parentId"/> <input type="hidden" value="6" name="listId"/> <input type="hidden" value="1" name="position"/> 
</form> 

</td> 
</tr> 
</tbody> 
</table> 
</div> 
</div> 
</div> 
</body> 
</html> 
+0

Вы уверены, что проблема не приходит, прежде чем руки? Правильно ли задана ваша переменная rowId? –

+0

есть, есть. Я уже некоторое время отлаживаюсь. rowId верен – Onema

+2

Также проверьте, что $ ('# addOrEditForm') и "#" + rowId фактически соответствуют элементам: alert ($ ('# addOrEditForm'). length); оповещения ($ ('#' + RowId) .length); –

ответ

0

Кажется, что FadeIn не работает попробовать его с шоу:

$('#addLinkListLink') 
     .insertBefore("#" + link) 
     .show(); 

Я свели к этому:

<table> 
     <tr id="tr1"><td>3</td></tr> 
     <tr id="tr2" style="display:none"><td>2</td></tr> 
    </table> 

    <script type="text/javascript"> 
     $('#tr2').fadeIn(); 
    </script> 

это будет теперь работаем в.

посмотреть здесь: jQuery :FadeOut not working with table Rows

Смежные вопросы