0

我想找到一个跨度的确切起点。但是,当我使用 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);

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

4

1 回答 1

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/

于 2013-09-06T04:21:49.923 回答