mootools得到一个没有ID的元素的位置

时间:2013-03-22 13:42:34

标签: javascript dom mootools

除了一些基本的jQuery之外,我对整个Javascript的东西都比较新。

最近我接手了一个使用mootools的小型本地项目,我被卡住了。

我有几个页面具有相对简单的dom结构和存储在数据库中的内容。每页上的第一个元素是div或具有固定宽度和高度的段落。

所述元素有三种变体,每种变体的高度不同,这意味着我们每页都有其中一种

<div class="header1"><img ...></div>
<p class="header2"><img ...></p>
<p class="header3"><img ...></p>

其中每一个都有几个包含文字或图像的段落。

我的问题:我必须在页面的第一个元素(div或p)和以下内容之间放置一个带有打印图标的小div,但我不允许更改生成此页面的任何代码。

想法是使用mootools(无论如何加载)将div放在第一个元素正下方的绝对位置。

这可以通过jQuery轻松完成,但我必须使用mootools以及没有ID的元素。

有没有简单的方法来获取其中任何一个的位置,或者在页面加载,然后放置(位置:绝对;)在它下面的div?

到目前为止,我有这个,(这很差)用一个类“header1”记录elemnent

window.addEvent('domready', function() {
$$('.header1').each(function(element){
    console.log(element);
});

});

2 个答案:

答案 0 :(得分:1)

element.getPosition()获取元素的x和y位置,这应该允许您创建一个位于某处的新元素。 getPosition()可以在MooTools More中,具体取决于您使用的版本。

在没有棘手定位的情况下在适当的位置向DOM添加新元素可能会更容易,但这取决于您的DOM。


判断您对评论的反应,如果您只想将文档中的单个元素与ID匹配,则document.getElement()就是您所需要的,这与$$()大致相同,但如果没有匹配则返回第一场比赛或null

答案 1 :(得分:0)

当然可以。问题是如果没有ID,如何获得所需的元素。这和jQuery一样难,或者像jQuery一样简单。

查看Element.getPosition()的mootools文档。