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