1

我试图检测某个 div 元素的高度何时为 0,以便显示带有消息的 div 元素。

function checkads() 
{
    if ($('#container').height() == 0) 
    {
        $('.wp_bannerize').wrap($('<div id="notice">ENABLE ADS</div>'));
    };
}

$(document).ready(checkads);

上面的工作正常,但是,无论如何让脚本包装在子 div 上方 1 或 2 级的父 div,而不必手动定义父类的类名“wp_bannerize”

4

2 回答 2

1

你可以尝试这样的事情:

function checkads() {
    var $container = $('#container');
    if ($container.height() == 0) {
        $container.parent().wrap($('<div id="notice">ENABLE ADS</div>'));
        // OR $container.parent().parent().wrap($('<div id="notice">ENABLE ADS</div>'));
    }
}

或将您的checkads()功能更改为:

function checkads($current) {
    if ($current.height() == 0) {
        $current.parent().wrap($('<div id="notice">ENABLE ADS</div>'));
    }
}

并称它为:

checkads($('#container');
checkads($('#container2');
//etc...
于 2013-07-05T20:24:04.653 回答
1

例如,您可以使用$('#container').parent().parent()来查找父级的父级。您还可以使用$('#container').closest('div')在父列表中搜索最接近的div(或其他)。您不需要知道类名(尽管您也可以将其与closest! 一起使用)

于 2013-07-05T20:24:22.107 回答