有一种简单的方法可以在JavaScript中获取一串html并删除html吗?
我有类似的字符串
var str = 'One & two & three';
Run Code Online (Sandbox Code Playgroud)
由Web服务器呈现为HTML.我需要将这些字符串转换为
'One & two & three'
Run Code Online (Sandbox Code Playgroud)
目前,这就是我正在做的事情(借助jQuery):
$(document.createElement('div')).html('{{ driver.person.name }}').text()
Run Code Online (Sandbox Code Playgroud)
但是我有一种不安的感觉,我做错了.我试过了
unescape("&")
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用,decodeURI/decodeURIComponent也没有.
有没有其他更原生和更优雅的方式呢?
在jQuery论坛上这是一个非常讨论的问题,但我无法找到适合我情况的解决方案.
我有一个无序列表,其中包含一些文本元素...用户可以通过jQuery创建新的列表项,这些项目将保存到SQL数据库中.他们还可以编辑现有列表项.此外,由于每个列表项中的文本可能会很长,因此可以选择"隐藏"每个列表项,以便显示字符串的截断版本.这是由一个自定义的jQuery插件处理的,该插件截断了超过一定长度的列表项...这是截断插件格式化后每个列表项的样子:
<li id="item_1">
<div class="note">
This is the text that shows when this element is truncated <span style="display: none;" class="truncate_ellipsis">...</span>
<span style="display: inline;" class="truncate_more">This is the text that will be hidden if the user clicks on the 'hide' button</span>
</div>
<div class="toggle_wrapper">
<div class="note_toggle">
<a href="#" class="truncate_more_link">Hide note</a>
</div>
<div style="display: block;" class="note_controls">
<span class="edit_note"><a href="#note_textfield" id="edit_note_1">Edit</a></span> | <span class="delete_note"><a href="#" id="delete_note_1">Delete</a></span>
</div>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是用户单击"编辑"并使用"注释"类获取div的内容并将其分配给文本区域.然后,用户可以编辑文本并保存.我使用以下脚本来获取div的内容并将其分配给textarea:
$('.edit_note a').click(function(event){
// Get the parent li of the 'edit' link that was …Run Code Online (Sandbox Code Playgroud) 我试图从contenteditable ='true'div获取格式化文本发送到我的服务器.
我曾经使用textarea,当你得到textarea的值时,它会保留空格和换行符,但是当使用contenteditable div时,即使使用以下样式我也无法获得格式正确的文本:
white-space: pre-wrap;
word-wrap: break-word;
Run Code Online (Sandbox Code Playgroud)
例如,如果我在我的div中输入:
"a
aa
asdf"
Run Code Online (Sandbox Code Playgroud)
我会用textContent来解决这个问题:
"a aaasdf"
Run Code Online (Sandbox Code Playgroud)
有没有办法让格式化文本从像textarea这样的可信任的div中获取?