使用jQuery获取span的起始点的偏移量

时间:2013-09-06 04:14:53

标签: javascript jquery html

我想找到一个跨度的确切起点。但是,当我使用jQuery偏移或jQuery位置时,我得到的只是span的边界框的起点,这不是很有用。此处提供问题的插图:

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

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

跨度起点的“左”部分不应为零,因为跨度不是从行的开头开始。有没有人有巧妙的方法来规避这个问题?

1 个答案:

答案 0 :(得分:3)

这就是你要找的东西:

$("span")[0].offsetLeft

或者如果你想直接使用javascript:

document.getElementById("theSpanIWant").offsetLeft;

要获得span中最后一个字符的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/