2010-03-19 42 views
0

的時候我怎麼能的onclick使用jQuery實現這一行爲:創建新的div以防萬一錨鏈接點擊

默認狀態:

<a href="something.html">Anchor</a> 

點擊狀態

<div class="highlight"> 
<a href="something.html">Anchor</a> 
</div> 

回答

3

最快的方式做到這一點:

$('a').click(function() { 
    $(this).wrap($('<div/>', { 'class': 'highlight'})); 
}); 

然而,這可能是你想要簡單很多,只需使用任何你想要的CSS效果:

$('a').click(function() { 
    $(this).addClass('highlight'}); 
}); 
5

好,你可以使用jQuery的「換行」功能:

$('#idOfAnchor').click(function(a) { 
    $(a).wrap($('<div/>').addClass('highlight')); 
}); 

但是,這似乎是一種有趣的想法。爲什麼不直接將類添加到<a>元素本身?

哦對不起 - 你的問題說「點擊」,但解釋說「懸停」。這會有點棘手,因爲當你將鼠標移出時,你會想擺脫額外的div。再次,如果這是我的頁面,我根本就不會那麼做。你試圖達到什麼目標?

再次編輯:確定現在它說: 「點擊」 了:-)

2

結帳的jQuery的wrap功能。

$(this).wrap('<div class="highlight"></div>'); 
1

爲什麼不只是樣式a:懸停?

事情是這樣的CSS:

.highlight a { 
    /* style */ 
} 

.highlight a:hover { 
    /* hover style */ 
} 

那麼你的HTML更改爲:

<a href="something.html" class='highlight'>Anchor</a>