我似乎无法使它正常工作:

$('.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');
    });
});

10-07 19:12