0

スパンの正確な開始点を見つけたいです。ただし、jQuery オフセットまたは jQuery 位置を使用すると、スパンのバウンディング ボックスの開始点しか得られず、あまり役に立ちません。ここで利用可能な問題の図:

http://jsfiddle.net/V6Gx6/13/

$('div').append('</br>'+$('span').outerHeight(true));
$('div').append('</br>'+$('span').offset().top);
$('div').append('</br>'+$('span').offset().left);

スパンは行の先頭から開始しないため、スパンの開始点の「左」部分はゼロにしないでください。誰かがこの問題を回避する賢い方法を持っていますか?

4

1 に答える 1

3

これはあなたが探しているものです:

$("span")[0].offsetLeft

または、ストレートなJavaScriptが必要な場合:

document.getElementById("theSpanIWant").offsetLeft;

スパン内の最後の文字の offsetRight を取得するには、次のように動作するはずです。

function getOffsetRight(el) {
    $(el).append("<span id='findme'></span>");
    return $(el).parent().width() - $("#findme")[0].offsetLeft;
};

$(window).on("resize",function(){
    $('div').append("</br>"+$('span')[0].offsetLeft);
    $('div').append("</br>"+getOffsetRight($('span')[0]));

});

更新された jsfiddle: http://jsfiddle.net/V6Gx6/17/

于 2013-09-06T04:21:49.923 に答える