gpt4 book ai didi

javascript - 如何在所见即所得编辑器中保持 html 属性不变?

转载 作者:太空狗 更新时间:2023-10-29 16:44:07 27 4
gpt4 key购买 nike

在所见即所得的文本编辑器源 View 中,我有这个简单的 html:

<span style="font-family: Moul;" {%if  loop.first=='first'%} first="" {%endif%}>Hello Text</span>

但是,当我从源 View 切换到可视 View 时,所见即所得将我的 html 代码更改为:

<span style="font-family: Moul;" {%if="" loop.first="='first'%}" {%endif%}="">Hello Text</span>

但是,我想保留我的 html,而不用文本编辑器更改。

$('#summernote').summernote({
height: 300
});
body {
padding: 40px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/summernote/0.5.0/summernote-bs3.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.min.css">

<textarea name="summernote" id="summernote" cols="30" rows="10">
</textarea>

编辑:

事实上,所见即所得将单个 html 属性转换为附加“=”和双引号 " "符号。我测试写 <input type="checkbox" checked>在所见即所得的源代码 View 中,它将被转换为这样的属性检查:因为所见即所得将单个属性检查为无效属性,因此它附加等号“=”和双引号“”输出<input type="checkbox" checked=""> .您可以在上面的代码片段中对其进行测试。因此,这是我的 jinja2上面的语法附加了 =" "这会在运行时导致语法错误异常。

我尝试使用正则表达式来帮助防止所见即所得更改我的 html,如下所示:

codeview = $('summernote').summernote('code');
console.log(codeview);
Regx = /(\<.*\s*\{\%[^}]*\%\}.*\s*\>)/g;
codeview.replace(Regx,'$1');

但在代码 View 和可视化 View 之间切换 View 时,它仍然会更改我的 html。

我怎样才能使所见即所得的 summernote 编辑器的 html 保持不变?谢谢。

最佳答案

我假设您有一些代码检查 first 属性?

如果那是 CSS,那么如果可能的话,您可以更改它以检查非空的 first 属性:

[first]:not([first='']){ }

如果那是 javascript,它是:

document.querySelectorAll("[first]:not([first=''])");

之所以要澄清以上内容,是因为如果是这种情况,您可以将条件移到 first 属性中,希望它不会受到影响:

<span style="font-family: Moul;" first="{%if loop.first=='first' %}true{%endif%}">Hello Text</span>

关于javascript - 如何在所见即所得编辑器中保持 html 属性不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49376212/

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