2010-08-05 87 views

回答

1

嘗試這樣的:

document.getElements('#el > li').addEvent('mouseenter', function(e) { 
    var target = document.id(e.target); 
    if (!target.getElement('span')) target.adopt(new Element('span')); 
}); 

,如果你想進行刪除鼠標跨度,然後補充一點:

document.getElements('#el > li').addEvent('mouseleave', function(e) { 
    document.id(e.target).getElements('span').destroy(); 
}); 

要小心,因爲這些都是非常幼稚的執行方式,最低限度你需要它來工作。

+0

謝謝,它運作良好! – Binyamin 2010-08-06 15:06:45

3
document.getElementById('el').addEventListener("mouseover", function(e){ 
    var e=e.target; 
    if (e.nodeName=="LI") { 
    var span=e.getElementsByTagName('span')[0]; 
    if(!span) { 
     e.innerHTML="<span></span>"; 
    } 
    } 
},false); 

這會爲現有SPAN檢查插入之前。另外它不需要JQuery或任何其他JS框架。

經過Firefox測試,但部分瀏覽器可能處理e.target部分不同,所以請牢記這一點。

+0

你的例子不起作用。 – Binyamin 2010-08-05 17:52:49

+0

不,我的例子工作。我在Safari 5.0.1,Firefox 3.6.8和Chrome 5.0.375中測試了它。 查看此鏈接爲HTML與HTML:http://ifelse.org/projects/stackoverflow/3417148.html 如果你不能得到它的工作,我將不勝感激細節你如何實現它,所以我可以驗證。 – donohoe 2010-08-08 02:03:34

+0

;)在http://ifelse.org/projects/stackoverflow/3417148.html – Binyamin 2010-08-08 14:28:43