如何使用jquery实现此行为:
默认状态:
<a href="something.html">Anchor</a>
点击状态
<div class="highlight">
<a href="something.html">Anchor</a>
</div>
答案 0 :(得分:5)
好吧,你可以使用jQuery“wrap”函数:
$('#idOfAnchor').click(function(a) {
$(a).wrap($('<div/>').addClass('highlight'));
});
然而,这似乎是一种有趣的想法。为什么不直接将类添加到<a>
元素本身?
哦对不起 - 你的问题说“点击”,但解释说“悬停”。这会有点棘手,因为当你鼠标移出时你会想要摆脱那个额外的div。再说一次,如果这是我的页面,我根本就不会这样做。你想要实现的是什么?
再次修改:好了,现在又说“点击”: - )
答案 1 :(得分:3)
最快的方法:
$('a').click(function() {
$(this).wrap($('<div/>', { 'class': 'highlight'}));
});
然而,这可能是你想要的,更简单的只是使用你想要的任何CSS效果:
$('a').click(function() {
$(this).addClass('highlight'});
});
答案 2 :(得分:2)
结帐jQuery的wrap
功能。
$(this).wrap('<div class="highlight"></div>');
答案 3 :(得分:1)
你为什么不直接设计a:hover?
CSS中的类似内容:
.highlight a {
/* style */
}
.highlight a:hover {
/* hover style */
}
然后将您的HTML更改为:
<a href="something.html" class='highlight'>Anchor</a>