Javascript 获取跨度的偏移量';使用jQuery创建startpoint
我想找到跨度的确切起点。但是,当我使用jQuery offset或jQuery position时,我得到的只是跨度边界框的起点,这不是很有帮助。此处提供的问题说明: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); 跨度起点的“左”部分不应为零,因为跨度不是从线的起点
$('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后清理它,并肯定会破坏创建的跨度。谢谢!我不敢相信我没有想到这一点。非常感谢:)