我有这个功能,我不确定是不是最好的。它实际上正在工作。我问是因为我在网上找不到任何“复制粘贴”解决方案,所以我写了这个。没有必要建议其他 CSS 解决方案,我被<a href><img>text</a>
结构困住了,我无法编写 .css(所有这些都是因为后端编码限制/'他们不知所措:lol ')
javascript(让客户建立自己的图标集[卡在.png]的简单方法):
$(".list-habiliy").on({
mouseenter: function(){
$('img.icone', this).attr("src",$('img.icone', this).attr("src").replace('.png', '-o.png'));
},
mouseleave: function(){
$('img.icone', this).attr("src",$('img.icone', this).attr("src").replace('-o.png', '.png'));
}
},"a");
html(列表<a>
最多可包含 30 个元素):
<div class="list-habiliy">
<a href="some-link1.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name1.png" alt="" width="24" height="24" />Some text1</a>
<a href="some-link2.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name2.png" alt="" width="24" height="24" />Some tex2t</a>
<a href="some-link3.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name3.png" alt="" width="24" height="24" />Some text3</a>
<a href="some-link4.link"><img class="icone" src="/path/to/default/icons/icon-24px-icon-name4.png" alt="" width="24" height="24" />Some text4</a>
</div>
该函数的目标是通过从图像源中添加/删除“-o”文本来替换图标<img>
中的图标。我想知道,出于性能原因,我应该使用 .each()、hover() 吗?<a>
jsFiddle:
这是最好的方法吗?
感谢您的所有建议。
【最后】:
由用户 @Xotic750 解释 [接受的答案](我们使用 event 属性并使用 javascript 直接访问元素,而不是将其包装在 jquery 中,我们也不会执行任何进一步的 jquery 搜索......)
不知何故,这是我能做的唯一优化。
感谢用户@codelio [我不能接受 2 个答案] 缩短了代码编写:
$(".list-habiliy a").on({
mouseenter: function (e) {
var elm=e.delegateTarget.firstChild;
elm.src=elm.src.replace('.png','-o.png');
},
mouseleave: function (e) {
var elm=e.delegateTarget.firstChild;
elm.src=elm.src.replace('-o.png','.png');
}
});