我想找到一个跨度的确切起点。但是,当我使用jQuery偏移或jQuery位置时,我得到的只是span的边界框的起点,这不是很有用。此处提供问题的插图:
$('div').append('</br>'+$('span').outerHeight(true));
$('div').append('</br>'+$('span').offset().top);
$('div').append('</br>'+$('span').offset().left);
跨度起点的“左”部分不应为零,因为跨度不是从行的开头开始。有没有人有巧妙的方法来规避这个问题?
答案 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/