gpt4 book ai didi

javascript - 使用 jQuery 的内联元素的左偏移量

转载 作者:行者123 更新时间:2023-11-28 03:40:57 25 4
gpt4 key购买 nike

我有以下一段 HTML:

<div><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor 
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit <strong id="s">esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</strong></p></div>

使用 CSS 将 DIV 的宽度固定为 600px。现在,我想找到 <strong> 的 offset().left|元素。所以我做了:

alert( $("#s").offset().left );

然而这似乎没有产生正确的值,因为我可以清楚地看到 strong 元素在 600px 宽度的一半处看到,但我得到的偏移值只有 8px。

如何找到内联强元素的 offset().left 值?

最佳答案

这是发生了什么:

Diagram

由于内联元素跨越多行,jQuery 将为您提供该元素的最左侧位置,而不是元素开头的偏移量。

要解决这个问题,试试这个插件:

jQuery.fn.inlineOffset = function() {
var el = $('<i/>').css('display','inline').insertBefore(this[0]);
var pos = el.offset();
el.remove();
return pos;
};

插件将创建一个临时元素并将其插入到目标元素之前 - 然后它将返回该临时元素的偏移量。

示例用法:

alert( jQuery('strong').inlineOffset().left );

关于javascript - 使用 jQuery 的内联元素的左偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11068786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com