我试图在我的e-com网站上添加HTML标签。例如:对于$5.00
,我想在$
和5.00
之间添加标记,但我找不到核心文件,无法在这两个文件之间放置任何代码元素。我可以访问的文件只有一个通用标记,可以从另一个文件(我无法找到)中提取包括货币标记在内的全部价格。
我以为我尝试用$5
替换$<span itemprop="price">5</span>
,但我不知道怎么写。我的JS技能只能复制和粘贴。
有人可以帮助或建议更好的方法吗?这是针对架构标记,但谷歌给我一个错误,因为货币标记位于价格itemprop标记内。
答案 0 :(得分:1)
基本的jQuery来做你想要的。
但我认为你需要重新评估你将如何做这项工作,以及你将要做的事情。它不应该在javascript中完成,它绝对应该由知道他们正在做什么的开发人员完成。你还需要为你的用例修改它,确保它只在你想要它的部分上运行,了解如何添加jQuery(如果它还没有)(我认为是)。
它也可以在普通的javascript中轻松完成,如果你愿意,我会把它写出来。
http://jsbin.com/rahayobimo/edit?html,css,js,output
$('.price-line').each(function () {
$(this).html($(this).html().replace('$', '<span>$</span>'))
});
http://jsbin.com/xejipeg/1/edit?html,css,js,output
$('.price-line').each(function () {
$(this).html($(this).html().replace(/\$(\d+(\.\d\d)*)/g, '$<span itemprop="price">$1</span>'))
});
第二个使用正则表达式,它检查类似美元的字符串。所以有一个美元,然后是数字和可能的小数位。然后它需要第二组(在此标记为$1
),将其包装在您的标签中并在开头粘贴一个实际的美元符号。
我假设你只使用美元?如果没有,请将替换功能的第一部分中的$
更改为[$£€]
。
在这个意义上,Javascript并不是一个安全问题。它只是凌乱而且比其他任何事情都更容易失败。实际上,您应该从后端获取原始数据,因为它来自并在那里格式化。然后你肯定知道什么是价格,什么是货币符号。
另一个问题是javascript在初始页面加载后运行。因此,这些跨度标签将在技术上稍后添加。许多搜索引擎(我认为,为什么你要添加这个标签)不会看到基于运行的javascript的页面,只有从服务器传递的HTML。这是制作完全使用javascript生成的网络应用程序的人的祸根。
不幸的是,我不知道.net或dotnetnuke。但我知道在其他语言中你会做类似的事情:
currency_symbol
和price
发送到模板文件例如:
<span class="symbol">{{ symbol }}</span><span class="price" itemprop="price">{{ price }}</span>
不容错误,可以缓存,更好的SEO,更低的失败率,没有客户端依赖等等。