Javascript 获取跨度的偏移量';使用jQuery创建startpoint

Javascript 获取跨度的偏移量';使用jQuery创建startpoint,javascript,jquery,html,Javascript,Jquery,Html,我想找到跨度的确切起点。但是,当我使用jQuery offset或jQuery position时,我得到的只是跨度边界框的起点,这不是很有帮助。此处提供的问题说明: $('div').append(''+$('span').outerHeight(true)); $('div').append(''+$('span').offset().top); $('div').append(''+$('span').offset().left); 跨度起点的“左”部分不应为零,因为跨度不是从线的起点

我想找到跨度的确切起点。但是,当我使用jQuery offset或jQuery position时,我得到的只是跨度边界框的起点,这不是很有帮助。此处提供的问题说明:

$('div').append('
'+$('span').outerHeight(true)); $('div').append('
'+$('span').offset().top); $('div').append('
'+$('span').offset().left);

跨度起点的“左”部分不应为零,因为跨度不是从线的起点开始的。有没有人有聪明的方法来回避这个问题?

这就是你想要的:

$("span")[0].offsetLeft
或者,如果您希望使用纯javascript:

document.getElementById("theSpanIWant").offsetLeft;
要使span中的最后一个字符偏移,类似这样的操作应该可以:

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]));

});
函数getOffsetRight(el){ $(el).附加(“”); 返回$(el).parent().width()-$(“#findme”)[0].offsetLeft; }; $(窗口).on(“调整大小”,函数(){ $('div').append(“
”+$('span')[0].offsetLeft); $('div')。追加(
“+getOffsetRight($('span')[0]); });
更新的JSFIDLE:

这就是您正在寻找的:

$("span")[0].offsetLeft
或者,如果您希望使用纯javascript:

document.getElementById("theSpanIWant").offsetLeft;
要使span中的最后一个字符偏移,类似这样的操作应该可以:

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]));

});
函数getOffsetRight(el){ $(el).附加(“”); 返回$(el).parent().width()-$(“#findme”)[0].offsetLeft; }; $(窗口).on(“调整大小”,函数(){ $('div').append(“
”+$('span')[0].offsetLeft); $('div')。追加(
“+getOffsetRight($('span')[0]); });
更新的JSFIDLE:

哇,我知道必须有一个简单的方法!好的,还有一件事:我怎样才能到达右下角(这可能发生在换行之后?遗憾的是,没有offsetRight属性。请编辑答案以获得offsetRight。您可能希望在计算offsetDude后清理它,并肯定会破坏创建的跨度。谢谢!我不敢相信我没有想到这一点。非常感谢:)哇,我知道必须有一个简单的方法!好吧,还有一件事:我怎样才能到达右下角(这可能发生在换行之后?遗憾的是,没有offsetRight属性。请编辑答案以获得offsetRight。您可能希望在计算offsetDude后清理它,并肯定会破坏创建的跨度。谢谢!我不敢相信我没有想到这一点。非常感谢:)