2
我有一個包含多行的列表,每個列表都有一個添加和編輯按鈕,可以調出一個表單;jQuery 1.3.2 insertBefore無法在IE8中工作
$('#addOrEditForm').insertBefore("#"+rowId);
任何想法,爲什麼這可以在任何其他瀏覽器,但IE8?我們正在使用jQuery 1.3.2。
謝謝。
在這個
這是任何更新僅僅是複製了我使用IE8的insertBefore ONLY有問題的代碼過於簡單化。 只是複製而這一切的代碼粘貼到一個測試文件,然後修改
<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>
你確定前手的問題不進來?你的「rowId」變量設置是否正確? – 2009-10-05 16:51:18
是的,是的。我一直在調試一段時間。 rowId是正確的 – Onema 2009-10-05 16:53:15
還要檢查$('#addOrEditForm')和「#」+ rowId是否與一個元素實際匹配:alert($('#addOrEditForm')。警報($( '#' + ROWID)。長度); – 2009-10-05 16:57:34