Javascript 如何从SVG中获取所选文本<;文本>;标签

Javascript 如何从SVG中获取所选文本<;文本>;标签,javascript,html,svg,Javascript,Html,Svg,我有一个像这样的html页面 Get Selection 测试SVG: 这是sentense 用一个字母写的 浏览器中的行 另一行文字 这是渲染的 作为SVG文本html 5 我知道您在这里试图做什么,但遗憾的是,当您在一行中使用多个文本标记时,javascript没有内置的方法来查看换行符在哪里 然而,正如你所看到的。采样线上的所有文本元素具有相同的Y坐标。因此,您可以尝试创建一个函数,根据文本标记对应的Y坐标,将大量文本按行排序 不过,这听起来确实有些挑战。谢谢。我已经这样做了,但它不适用

我有一个像这样的html页面

Get Selection
测试SVG:
这是sentense 用一个字母写的 浏览器中的行 另一行文字 这是渲染的 作为SVG文本html 5
我知道您在这里试图做什么,但遗憾的是,当您在一行中使用多个文本标记时,javascript没有内置的方法来查看换行符在哪里

然而,正如你所看到的。采样线上的所有文本元素具有相同的Y坐标。因此,您可以尝试创建一个函数,根据文本标记对应的Y坐标,将大量文本按行排序


不过,这听起来确实有些挑战。

谢谢。我已经这样做了,但它不适用于一些复杂的文档,包括页眉、页脚、两列中的文本等。在这种情况下,您还需要有一个X坐标阈值,用于定义列的大小并按该阈值排序。然而,这一切都是理论上的,这是唯一的解决办法。如果SVG比较复杂,则需要添加一些规则或启发式方法来减少错误。只考虑《兄弟姐妹》中的<代码> <代码>元素。“实际上,我找不到一个关于这个SVG东西的JavaScript API的好文档。”你有没有尝试过?如果你有代码有bug,那么提供一个我们可以查看的代码。很难对我们看不到的代码提出改进建议。@PaulLeBeau我把代码放进去,描述了预期结果和实际结果。我还应该提供什么?测试程序的代码。仅列出
document.getSelection().toString()
是不够的。抱歉。我错过了示例中的
onclick