除了一些基本的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);
});
});
答案 0 :(得分:1)
element.getPosition()
获取元素的x和y位置,这应该允许您创建一个位于某处的新元素。 getPosition()
可以在MooTools More中,具体取决于您使用的版本。
在没有棘手定位的情况下在适当的位置向DOM添加新元素可能会更容易,但这取决于您的DOM。
判断您对评论的反应,如果您只想将文档中的单个元素与ID匹配,则document.getElement()
就是您所需要的,这与$$()
大致相同,但如果没有匹配则返回第一场比赛或null
。
答案 1 :(得分:0)
当然可以。问题是如果没有ID,如何获得所需的元素。这和jQuery一样难,或者像jQuery一样简单。
查看Element.getPosition()
的mootools文档。