我正在使用expressionengine作为CMS,在页面加载后,我需要找到'arbesthealth'并使其成为* * best * health,这将是最好的方法吗? Jquery文件准备好了吗?可以用CSS完成吗?
注意:我无法在cms端执行此操作,因为EE不允许标题字段内的标记,因此需要在输出中完成。我想我可以用php中的substr做到这一点,但我只是对其他可能的方式感到好奇。
答案 0 :(得分:1)
简单的解决方案是操纵innerHTML
(直接或通过jQuery的html
函数),但这将破坏并重新创建所有元素,这是不理想的 - 尤其是因为任何附加到它们的事件处理程序将被删除。
但是,处理文本节点并根据需要插入strong
元素的简单递归函数并不困难。 My answer to this other SO question显示了如何执行此操作,遍历文本节点并使用Text#splitText
将其拆分并插入元素。听起来比工作更多。
答案 1 :(得分:1)
将标签包裹在单词中:
$('.content').wrapInTag({
words: ['best'],
tag: '<span>'
});
请参阅FIDDLE
我添加了 .content ,但你可以在cms容器的任何地方添加
*的 更新 * 强>
如上所述,这将影响所有,所以让我们试试这个方法:
html().replace