在鼠标悬停时使用jquery隐藏特定文本

时间:2013-04-02 08:39:41

标签: jquery html css mouseover

我似乎无法让这个工作:

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

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

http://jsfiddle.net/4UeMd/

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

4 个答案:

答案 0 :(得分:1)

在脚本中设置元素的html。目前,该脚本仅修改.price的innerHtml,但未设置价格的html

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

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

答案 1 :(得分:0)

以下是提示的小代码:

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

编写以下脚本onmouseover函数:

$('.txt').hide(300);

答案 2 :(得分:0)

你需要两次调用.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');
    });
});

答案 3 :(得分:0)

  1. 您需要使用replced version
  2. 设置html
  3. 您需要使用.each为所有.price执行此操作才能正确应用

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

    });