jquery wrap,append,prepend到parent div

时间:2013-07-05 20:08:47

标签: javascript jquery

我试图检测某个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”

2 个答案:

答案 0 :(得分: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...

答案 1 :(得分:1)

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