【发布时间】:2016-04-28 01:14:47
【问题描述】:
我正在使用以下代码来创建分数:
<script type='text/javascript'>
$(document).ready(function () {
$('.fraction').each(function(key, value) {
$this = $(this)
var split = $this.html().split("/")
if( split.length == 2 ){
$this.html('<span class="top">'+split[0]+'</span><span class="bottom">'+split[1]+'</span>')
}
});
});
</script>
如果我的正文中有以下代码,它会成功格式化为分数:
<span class="fraction">4/1</span>
但是,如果我包含一个标签,如下图所示,该功能将不再起作用
<span class="fraction"><strike>4</strike>/1</span>
我该如何解决这个问题?谢谢!
【问题讨论】:
-
因为标签有一个“/”
-
具体来说,您的拆分调用将返回一个长度为 3 的数组,因此下面的 if 将评估为 false
-
$this.html()->$this.text()? -
<strike>是 HTML5 不支持的元素,请使用<del>或<s>...这些元素将在 4 之间放置一行。它看起来不像4/1. -
@JDoeMath 我有一个问题。你为什么在javascript中这样做?基本上你可以在页面被提供之前控制它吗?还是您正在抓取您无法控制的其他页面?