2

基本的なjQueryのものを除いて、私はJavascript全体に比較的慣れていません。

最近、mootools を使用する小規模なローカル プロジェクトを引き継ぎましたが、行き詰まっています。

比較的単純な dom 構造とデータベースに格納されているコンテンツを含むページがいくつかあります。各ページの最初の要素は、幅と高さが固定された div または段落です。

この要素には 3 つのバリエーションがあり、それぞれ高さが異なります。つまり、すべてのページにこれらのいずれかが含まれています。

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

これらのそれぞれの後に、テキストまたは画像を含むいくつかの段落が続きます。

私の問題: ページの最初の要素 (div または p) と次のコンテンツの間に印刷アイコンを含む小さな div を配置する必要がありますが、このページを生成するコードを変更することはできません。

アイデアは、最初の要素のすぐ下の絶対位置に div を配置するために mootools (とにかくロードされる) を使用することです。

これは jQuery で非常に簡単に実行できますが、mootools を使用する必要があり、要素には ID がありません。

のいずれかの位置を取得する、またはページの読み込み時に (position: absolute;) div をそのすぐ下に配置する簡単な方法はありますか?

これまでのところ、クラス「header1」で要素をログに記録するこれがあります(これは非常に貧弱です)

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

});

4

2 に答える 2

1

element.getPosition()要素のx位置とy位置を取得します。これにより、その周りのどこかに新しい要素を作成できるようになります。getPosition()使用しているバージョンによっては、MooToolsMoreに含まれている可能性があります。

DOMによって異なりますが、トリッキーな配置を行わずに、適切な場所でDOMに新しい要素を追加する方が簡単な場合があります。


コメントから反応を判断すると、ドキュメント内の1つの要素をID以外のものと単純に一致させたい場合は、document.getElement()必要なものです。これは、とほぼ同じよう$$()に機能しますが、最初の一致を返すかnull、一致しないものがあれば返します。

于 2013-03-22T13:48:03.930 に答える
0

はい、もちろん。問題は、IDがない場合に必要な要素を取得する方法です。これは、jQueryの場合と同じくらい難しいか、jQueryの場合と同じくらい簡単です。

のmootoolsドキュメントを見てくださいElement.getPosition()

于 2013-03-22T13:48:39.457 に答える