我在刪除一個動態添加到DOM的元素時遇到了一些麻煩。下面的腳本中的所有內容都按照它的設想運行,除了mouseleave處理程序中的remove方法外。我的猜測是我用CSS選擇器犯了一個錯誤,但我不確定它是什麼。任何幫助都感激不盡!通過JQuery去除div元素的困難
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Index</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function()
{
$('#myTr').mouseenter(function()
{
var cell1 = $(this).children(':first');
cell1.css('position', 'relative');
var myDiv = document.createElement('div');
var myChildDiv = document.createElement('div');
myChildDiv.style.position = 'absolute';
myChildDiv.style.height = '20px';
myChildDiv.style.width = '30px';
myChildDiv.style.opacity = '0.6';
myChildDiv.style.background = 'grey';
$(cell1).prepend(myDiv);
$(myDiv).append(myChildDiv);
})
.mouseleave(function()
{
$(this).remove('td:first-child>div');
});
});
</script>
</head>
<body>
<table>
<tbody>
<tr id="myTr">
<td style="width: 200px;">
Anytown, MA
</td>
</tr>
</tbody>
</table>
</body>
</html>
感謝您的建議!我不經常使用這種語法,但它看起來比我寫的要乾淨得多! – Andrew 2012-01-18 22:28:43
只是約定的問題。唯一的區別是我創建了一個jQuery對象(所以你可以給它分配一個'.click()'事件)。 DOM元素對象不會這樣做,除非將它們包裝在jQuery函數'$()'中。 – Blender 2012-01-19 04:03:46