gpt4 book ai didi

javascript - 将实际的 HTML 元素添加到 PRE/CODE 内容

转载 作者:行者123 更新时间:2023-11-30 10:29:07 30 4
gpt4 key购买 nike

我正在尝试创建一种快速/肮脏的方式来使用 javascript 在 html 中为 pre/code 标记添加一些语法突出显示。

我遇到的问题是,如果我编辑 text() 或 html(),我会得到转义内容。也就是说,添加的标签呈现为预/代码,或者我得到一堆转义字符。

考虑以下 html:

<pre>
<code class="target">
public interface __iIFoo { }
public class __tBar : __iIFoo { }

var list = new List__/__iIFoo\__();
</code>
</pre>

此处的目标是将出现的 __iIFoo 替换为:

<span class="interface">IFoo</span>

这样就可以用css高亮显示了。当然,当它呈现时,我不想看到实际的 SPAN 标记。

这是我尝试过的:

$(function(){
var iPatt = /__i\w+/g
$.each($(".target").text().match(iPatt), function(i,match){
var replace = '<span class="interface">'+match.substring(3)+'</span>';
$(".target").text(function(){
return $(this).text().replace(match, replace);
});
});
});

这行得通,但是,我添加的 span 标签显示在呈现的内容中,例如它们就像所有其他的预编码一样。我不想看到它!

最佳答案

使用 .html() 而不是 .text()。当您使用 .text() 时,该值是您希望用户看到的文字文本,因此它将特殊的 HTML 字符替换为实体,以便它们按字面显示。

关于javascript - 将实际的 HTML 元素添加到 PRE/CODE 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18009023/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com