如果前面的<div>存在</div> </div>,则隐藏下一个<div>

时间:2009-09-21 15:53:43

标签: jquery

我做错了什么?

$('function') {

$('#page #Description:has(.next('.subdescription'))').css('display', 'none');

});

其中HTML是:

<div id="page">
  <div id="description"> </div>
  <div class="subdescription">Content</div>
</div>

可能会过度思考解决方案吗?

1 个答案:

答案 0 :(得分:3)

1).next是一个函数而不是选择器。

2)你对onload使用$('function')的运行是不正确的。

3)以下内容应该有效

$(function(){
    if($('#page #description + .subdescription').length > 0){
        $('#page #description').hide();
    }
});

下面将添加一些解释:

$(function(){

这等于$(document).ready(function(){/ * code here * /})

$('#page #description + .subdescription')

将所有带有“subdescription”类的元素作为兄弟姐妹返回ID为“description”的div

$('#page #description').hide();

$('selector')的简写.css('display','none')