当前位置: 首页 > 知识库问答 >
问题:

$(object)[0].offsettop在Chrome中工作,但在Firefox中不工作

况繁
2023-03-14

我正在尝试访问此属性:

$(text)[0].offsetTop

它在Chrome中运行良好,但在Firefox中我得到了“未定义”。有没有什么方法可以在所有浏览器中做到这一点呢?

$("body").css("margin", "0px");
var svgNS = "http://www.w3.org/2000/svg";

var svgBox = document.createElementNS(svgNS, "svg");
$("body").append(svgBox);  
var text = document.createElementNS(svgNS, "text");
$(svgBox).append(text);

text.innerHTML = "Hello World";

$(text).attr({ "dominant-baseline": "hanging"});
console.log($(text)[0].offsetTop);

$(text).attr({ "x": 0 , "y":  0  });

如果你想知道我需要它做什么:我想在一个矩形的垂直中心对齐一个可变字体大小的文本。字体大小,然而,总是包括一个小的空隙以上的实际顶部的字母。我想要的是实际的像素高度。字母上方的这个差距正是我将“显性-基线”设置为“悬挂”后“offsettop”的值。

共有1个答案

焦同
2023-03-14

使用$(element)[0].offsetTop,而不是使用$(element).offset(),它返回一个带有顶部和左侧的对象。

 类似资料:
  • 问题内容: 我正在创建一个日期时间字符串,如下所示: 使用以下代码,我在Firefox中获得无效的日期,但在Chrome中正常运行 在firefox中,date1给我一个无效的日期,但是在chrome中,它的工作正常,主要原因是什么? 问题答案: 您无法以任何方式实例化日期对象。它必须以特定的方式。以下是一些有效的示例: 要么

  • 问题内容: 我正在使用jQuery滑块来调整包含段落文本的DIV的填充。当我在所有方向上均等地增加填充时,它应将随附的段落强制插入页面中央越来越窄的列中。 这在Firefox中有效,但在Chrome中段落宽度保持不变(即,随着DIV的填充物压入它们,它们的宽度不会变窄),因此将布局向右推。 我在这里重新创建了这个问题。您可以在Chrome和Firefox中尝试一下以了解其区别。 关于如何强制Chr

  • 我正在构建一个web推送通知系统,并使用本例中使用的概念: https://github.com/Minishlink/web-push-php-example 我的JS文件中有以下代码。它检查API支持,检查通知是否被禁用,注册服务人员,请求显示通知的权限,如果允许,订阅用户并将详细信息发送到服务器。如果用户已经订阅,它会更新数据库中的endpoint值。 当我在火狐61上运行时,它工作正常,但

  • 我使用一个包在Flutter中,它可以在Android上正常工作,但是当在ios模拟器上运行我的项目时,我在控制台中收到错误。 当我运行时,我得到以下错误,由于内容长度,我删除了错误的一些重复部分。 我在上面的错误中找不到任何相关消息这是 这就是我与pusher的连接方式 但在我注释掉上述文件和<code>pusher_client:^2.0.0<code>中的<code>时。yaml然后运行<c

  • 在Selenium中,我试图定位元素。但得到以下错误: 在中收到此错误。但它在浏览器中成功工作。有人有解决方案吗? 我已经尝试了这篇文章的帮助:-Selenium“元素在Firefox中的“点”错误,但无法获得结果。 我已经编写了以下代码:

  • 我正在尝试实现这个APIhttps://api.bnm.gov.my/portal#operation/ERLatest 根据上面的URL,它的GET请求必须带有值为“application/vnd.BNM.API.v1 json”的Accept-herader 当我尝试与邮递员,可以得到回应- 这就是我所做的,以在我的Spring启动应用程序中获得相同的响应- 但它没有得到正确的回应,我得到的是