我正在尝试完成一个浏览器插件,它将分析文本并以某种方式标记它。
基本上,
假设您在浏览时发现页面中的某处出现了此文本。
<p>and then Tom Cruise, devoured the planet.</p>
该插件正在扫描文本并会找到“Tom Cruise”。一旦鼠标悬停在我的服务器上吐出 AJAX 并返回一个 HTML 页面,就会在工具提示中显示。
我最初是这样标记的
<p>and then <span class="ajax subtleShadow">Tom Cruise</span>, devoured the planet.</p>
虽然我发现这可能会出错,如果网页有奇怪的跨度CSS,或者它嵌套在带有奇怪的东西(如边框)的跨度中。
我的解决方案是发明一个新的 html 标签。像这样...
<p>and then <fhwdgads class="ajax subtleShadow">Tom Cruise</fhwdgads>, devoured the planet.</p>
尽管快速搜索让我得出这样的结论:如果我这样做,“互联网”就会用干草叉追赶我。
是否有另一种方法来标记自定义标签的内联文本创建?
EDIT : 链接到嵌套跨度中损坏按钮的视图。
确实无法保证<fhwdgads>
永远不会被识别为具有某些特殊语义或格式的标签。如果您使用非常混乱的标签名称,这可能不太可能,但您真的会吗?人们在发明标签时倾向于使用助记名称,然后很可能与某些当前或未来的规范或浏览器中的标签发生冲突。
此外,一些旧版本的 IE 完全忽略无法识别的标签,例如不要让你设计它们。这可以避免使用document.createElement()
不过,每个标签名称一次。
Using span
or div
在实践中是安全的。没有理由认为浏览器默认有一些奇特的格式。就像我们不停地使用一样h1
尽管理论上它可能会使内容变成粉红色并闪烁。如果您期望浏览器供应商完全疯狂,那么就不可能万无一失。
使用类是另一回事,尽管只是在其他样式表使用与您相同的类名的意义上。您可能需要在其他作者的样式表干扰您的环境中工作。但这只是需要谨慎;它不会使span
or div
元素与类是错误的工具。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)