mootools获取没有ID的元素的位置

mootools get position of an element which has no ID

本文关键字:元素 位置 ID 获取 mootools      更新时间:2023-09-26

除了一些基本的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。

是否有任何简单的方法来获得的位置,或在页面加载,然后放置(position: absolute;)下的div权利?

到目前为止,我有这个(这是相当差),它记录了一个类"header1"的元素

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

});

element.getPosition()获得元素的x和y位置,这应该允许您在那里附近的某个地方创建一个新元素。getPosition()可能在MooTools More中,这取决于您使用的版本。

在适当的位置添加一个新元素到DOM,而不需要复杂的定位可能更容易,尽管这取决于您的DOM。


从评论中判断您的反应,如果您只是想通过id以外的东西匹配文档中的单个元素,document.getElement()是您需要的,这将与$$()相同,但如果没有匹配,则返回第一个匹配或null

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

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