2013-04-02 279 views
0

jQuery的具体文字我似乎无法得到这个工作:隐藏与鼠标悬停

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

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

http://jsfiddle.net/4UeMd/

希望有人能帮助我。 这可能是我错过的一个简单的jQuery代码,但我无法弄清楚它。

回答

0

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

jsFiddle

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

您的代码$('.price').html().replace('DKK','');是让每个.price元素上的文本,替换文本,并将其恢复到什么。


要获得DKK回来时,你离开你可以做到这一点的元素,你也想针对.priceli

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'); 
    }); 
}); 
+0

当离开列表项目时,我该如何获得DKK? –

+0

这是非常接近 - 它的工作原理,但它将所有的价格改变为200,00 ... –

+0

更新,他们不会改变现在。需要使用'$ .each'或'for'。 –

1

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

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

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

0

这里是小码:

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

写下面的脚本onmouse切换功能:

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

正如我所说 - 我不能那样做。 –

0
  1. 您需要设置HTML与replced版本
  2. 您需要使用。每次做所有。价格,以便正确地应用它

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

    });