所以我正在尝试规范化/清理内容中的格式:
<div class="content" contenteditable="true" data-placeholder="Type your entry">
<p>djsalk fjsadlkjf sadfjlsadkfj</p>
<p> </p>
<div>laksdfj asdlkasdf </div>
</div>
使用以下js:
$('.content').html().replace(/\/div/g , '<p>');
$('.content').html().replace(/\/div/g , '</p>');
$('.content').html().replace('<p> </p>', '');
如果我手动在webinspector中运行这些行中的每一行,它将返回固定的字符串,但不会将其应用于dom。
我在这里缺少什么?
由于
答案 0 :(得分:2)
replace函数生成一个新字符串。您需要手动将该新值重新分配给dom:
$('.content').html($('.content').html().replace(/\/div/g , '<p>'));
答案 1 :(得分:1)
在javascript字符串中是不可变的,jQuery的.html()
返回一个字符串(不是对元素实际html的引用)。您必须在修改后设置html。使用jQuery执行此操作的一个好方法是调用.html()
with a function and returning a value:
$('.content').html(function(i, html) {
return html.replace(/\/div/g , '<p>');
});