1

Drupal7 で生成された HTML サイト (jQuery_update がインストールされている) 内のテーブル化された TD 要素の正しい .offset() 位置を見つける必要があります。私が使う

        $('#contenttable td').each(function(){ 
            console.log($(this).offsetParent());
            console.log($(this).offset().left);
        });

私の中で

jQuery(function($) {
    //$(document).ready(function(){

私のscript.jsのoffset().left-positionを取得しますが、コンソールは常にすべてのTDに対して「0」をトレースします。

Safari Developer Console を使用すると、次の出力が表示されます

jQuery('#contenttable td:nth-child(2)').offset().left

は「1728」なので、まったく機能しているようです。しかし、DOCUMENT.READY 内からは機能しないのはなぜですか?

ちなみに、 .offsetParent() は BODY です...そして、親 DIV の位置の一部を絶対または相対に変更しても、変更はありませんでした。THNX!

編集:どの要素でもまったく機能しないようです。

4

1 に答える 1

2

残念ながら、jQuery.offsetブラウザーは非表示の要素をまったくレンダリングしないため、非表示の要素では機能しません。したがって、可能であれば、要素を取得するために要素を表示する必要がありますoffsetjquery: get the offset of hidden elementによると.show()、テーブル/コンテンツを呼び出し、目的の を取得してoffsetから呼び出すことができるはずです.hide()。この表示/非表示は、同じ実行イベントにあるため、ページを再描画しないため、ユーザーには明らかではありません。

于 2013-01-25T17:15:59.760 に答える