0

我似乎无法让它工作:

$('.products-grid li').hover(
function(){
    $('.price').html().replace('DKK','');
});

当鼠标悬停在列表项上时,我希望不显示“DKK”。我知道我可以通过在 DKK 周围添加一个跨度来做到这一点,但这对我来说是不可能的。正如您在此处看到的那样,我被锁定在 HTML 的设置中。

http://jsfiddle.net/4UeMd/

希望可以有人帮帮我。这可能是我缺少的一个简单的 jQuery 编码,但我不太明白。

4

4 回答 4

1

在脚本中设置html元素的。目前脚本只是修改了它的innerHtml,.price没有设置html价格。

$('.products-grid li').hover(
    function(){
        $('.price').html($('.price').html().replace('DKK',''));
    });

工作示例:http: //jsfiddle.net/4UeMd/5/

于 2013-04-02T08:43:23.963 回答
0

这是提示的小代码:

abcd xyz <label class='txt'>DDK</label>dbs ksbdh ksjdk <label class='txt'>DDK</label>

在函数上编写以下脚本:

$('.txt').hide(300);
于 2013-04-02T08:43:33.527 回答
0

您需要调用 .html() 两次,一次获取字符串,一次设置字符串。

jsFiddle

$('.products-grid li').hover(function () {
    $('.price').html($('.price').html().replace('DKK', ''));
});

您的代码$('.price').html().replace('DKK','');正在获取每个.price元素上的文本,替换文本并将其返回为空。


要在您离开元素时取回 DKK,您可以执行此操作,您还希望定位.pricenot 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');
    });
});
于 2013-04-02T08:43:55.560 回答
0
  1. 您需要使用 replced 版本设置 html
  2. 您需要使用 .each 为所有 .price 执行此操作,以便正确应用它

    $('.products-grid li').mouseover(function(){
    $('.price').each(function(){
        var replaced = $(this).html().replace('DKK','');
        $(this).html(replaced);
    });
    

    });

于 2013-04-02T08:45:30.193 回答