我似乎无法使它正常工作:
$('.products-grid li').hover(
function(){
$('.price').html().replace('DKK','');
});
当鼠标悬停在列表项上方时,我不希望显示“ DKK”。
我知道我可以通过在DKK周围添加跨度来做到这一点,但这对我来说是不可能的。如您在此处看到的,我被锁定在HTML的设置中。
http://jsfiddle.net/4UeMd/
希望可以有人帮帮我。
这可能是我缺少的简单jQuery编码,但我不太清楚。
最佳答案
您需要调用.html()两次,一次是获取字符串,另一次是设置字符串。
jsFiddle
$('.products-grid li').hover(function () {
$('.price').html($('.price').html().replace('DKK', ''));
});
您的代码
$('.price').html().replace('DKK','');
正在每个.price
元素上获取文本,替换文本并将其返回为空。要在离开元素时返回DKK,可以执行此操作,您还希望定位
.price
而不是li
。jsFiddle
$('.products-grid .price').hover(function () {
$(this).each(function () {
var me = $(this);
me.html(me.html().replace('DKK', ''));
});
}, function () {
$(this).each(function () {
var me = $(this);
me.html(me.html() + 'DKK');
});
});