将字符串传递到.text()函数后,保留特定的HTML标记
Keep specific HTML tags after string is passed into .text() function
如果我有以下字符串:
hello
goodbye
我可以将该字符串设置为div的内容,但保留回车吗?
jQuery('<div class="myTooltip">').text(theString);
Atm,.text()返回这个:
hello<br> <br> <br> <br> goodbye
由于跨端脚本问题,我无法使用.html()。
我可以在字符串上使用一些正则表达式来防止carraige返回被转换为文本吗?
如果不是regex,还有其他选项吗?
您可以使用replace将''n'
或''n'r'
字符转换为'<br />'
这里有一个例子:
var myString = 'some text 'n';
var parsed= myString.replace(/'n'r?/g, '<br />');
console.log(parsed);
此处的完整工作示例:http://jsfiddle.net/r6xrf5wh/1/
只需检查"红色框",即可查看在输入字段中使用换行符时自动插入的
。
<!DOCTYPE html>
<html>
<head>
<style>
#result {
width: 200px;
height: 200px;
background-color: red;
}
</style>
<script>
window.parse = function() {
var elm = document.getElementById('test');
var elmText = elm.value;
var parsed= elmText.replace(/'n'r?/g, '<br />');
var elmResult = document.getElementById('result');
elmResult.innerHTML = parsed;
};
</script>
</head>
<body>
<textarea id="test" rows="4" cols="50"></textarea>
<button type="button" onclick="parse()">Click Me!</button>
<div id="result">x</div>
</body>
</html>
在大多数情况下都能工作的脚本。这是我一段时间前写的,因为regex replace(/''n''r?/g,'')并不总是有效,我还需要去掉carage return:)
function (str) {
var cleanStr = "";
if(str!=null && str!=""){
for(var i=0; i< str.length; i++){
if(!str[i].charCodeAt(0) == 10 && !str[i].charCodeAt(0) == 13){
cleanStr+=str[i];
}
}
}
return cleanStr;
}
希望有帮助:)
您可以使用CSS:
$('<div class="myTooltip" style="white-space: pre-line;"></div>').text(theString);
相关文章:
- Jquery:如何在保留文本的同时打开字符串的所有span标记
- 使用onclick()时,在输入中保留必需的标记
- 将单词包装在标签中,保留标记
- 获取不带 html 标记的页面元素文本,但保留换行符
- 带有 contenteditable=true 的 pre 标记 - 元素的 text() 内容中不会保留新行
- 打字机向后/删除保留html标记
- 将字符串传递到.text()函数后,保留特定的HTML标记
- 将html转换为保留空白标记含义的文本表示——如何
- 在HTML解析器中保留htl和body标记
- 如何使用JavaScript删除html标记只保留BR、B和I标记
- 剥离HTML,保留mailto标记的换行符
- 如何在PHP中剥离html标记类和id,只保留form和it元素
- 如何从标记集群中只保留一个特定的标记
- 移除& lt; span>标记,同时保留内容完整,仅使用javascript
- 通过jQuery.fn.data()分配变量将保留对原始标记值的引用
- 对列表进行排序,但保留CSS标记
- 在特定位置插入字符,但保留标记
- 在Highchart中保留Line History Series上的标记颜色
- Catchback按钮(保留一个历史记录条目,没有可见的散列标记)
- 创建隐藏但保留在标记中的Repeater以供Javascript使用