<div style='text-align: center; width: 300px'>test me</div>
所以我需要从左侧到div中字符串的第一个字母的margin-left px?
<div style='text-align: center; width: 300px'>test me</div>
所以我需要从左侧到div中字符串的第一个字母的margin-left px?
计算字符与其容器之间距离的唯一方法是在文本之前添加一个内联元素,然后从占位符中减去父元素的左偏移量(使用.offset()
)。
示例(演示:http: //jsfiddle.net/LM8xL/)
HTML:
<div id="some-div" style='text-align: center; width: 300px'>test me</div>
JavaScript:
var $elem = $("#some-div"), // Select element
$placeholder = $("<span>"); // Create inline placeholder
$elem.prepend($placeholder); // Add placeholder before its contents
// Calculate distance
var distance = $placeholder.offset().left - $elem.offset().left;
$placeholder.remove(); // Remove placeholder
alert(distance); // Example: Display result
也许用另一个元素 ( ) 包装您的文本span
并将其.offsetLeft
与您div
的 's 进行比较?
正如卡拉什尼科夫所说,您需要将文本包装在跨度标签中,但需要做一些额外的工作。您需要获取跨度位置和父(div)偏移量并减去它们以获得答案。这是代码:
var position = $("span").position();
var parentOffset = $("span").parent().offset();
var left = position.left - parentOffset.left;