Jquery隐藏元素问题

时间:2011-04-05 08:04:24

标签: jquery google-chrome internet-explorer-8 hide

我的页面中有很多

<div class="price">

15 Dollars <a class="showHide">Show Partecipants</a>

</div>

<div class="partecipants">

</div>  

我想在“Partecipants” div为空时隐藏“showHide”元素并且我已经使用了这个:

$(document).ready(function(){
$('div.partecipants:empty').each(function() {  

$(this).prev('div.price').children().hide(); }); 
});

这仅适用于IE.Not在Chrome和Firefox中工作。为什么?

我应该在除了这几行代码之外的其他地方查找错误吗?

由于

卢卡

3 个答案:

答案 0 :(得分:2)

如果.partecipants为空,则隐藏showHide。您可以使用以下方法完成此操作。

$('.partecipants').each(function() {
    if (!$(this).contents().length) {
        $(this).prev('.price').hide();
    }
});

检查http://jsfiddle.net/JWgHJ/1/

处的工作示例

答案 1 :(得分:1)

我认为这是因为新行...尝试将html更改为

<div class="partecipants"></div>  

和btw“partecipants”这个词是什么意思?

答案 2 :(得分:0)

试试这个:

$(document).ready(function(){
    $('.partecipants').each(function() {  
        if ($.trim($(this).text()) === '') {
            $(this).prev('div.price').children().hide();
        };      
    });
});