Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 相对于另一个元素定位元素';行不通_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 相对于另一个元素定位元素';行不通

Javascript 相对于另一个元素定位元素';行不通,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正试图将类名为“adsense”的元素放置在类名为“publish info”的元素的半高上,但它不起作用。我应该提到,我不能编辑模板的html源代码。我尝试过以下代码: .publish-info { height: 150px!important; position: relative!important; } .adsense { top: 50px!important; position: absolute!important; } …和javasc

我正试图将类名为“adsense”的元素放置在类名为“publish info”的元素的半高上,但它不起作用。我应该提到,我不能编辑模板的html源代码。我尝试过以下代码:

.publish-info {
    height: 150px!important;
    position: relative!important;
}

.adsense {
    top: 50px!important;
    position: absolute!important;
}
…和javascript:

<script type='text/javascript'>
    //<![CDATA[ 
    window.onload = function () {
        $('.publish-info').append($('.adsense'));
    } //]]>
</script>

//

但这不起作用。这是我的网站:

您的脚本和样式基本上完成了它们应该做的事情,但问题是将
.adsense
元素放置在
中的javascript函数在adsense div可用之前运行

既然您正在使用jQuery,我建议将
窗口.onload更改为:

$(document).ready(function(){
    $('.publish-info').append($('.adsense'));
});

看看这是否有帮助。

我在你的网站上没有看到你的
.adsense
元素?我找到了.publish info元素,但它没有这里的样式。下面没有adsense元素。如果出现此问题,您可能会创建一个JSFIDLE进行隔离。
.adsense
不是
.publish info
的孩子,相对定位并不像您想象的那样有效。当您的代码
.adsense
处于绝对位置时,其位置将比其最近的祖先位置低50像素。如果它的祖先都没有被定位,那么
body
将作为positioning@StephanMuller@citykid
.adsense
在帖子的右侧(提示:您必须停用ABP)和
.publish info
是帖子下方的日期(…)谢谢,我实际上运行了ABP,刚刚计算出D: