一、为一个元素的所有子元素设置统一样式:.className * { color: #6666 }

二、正则表达式:

1、去除所有HTML标签只保留文字: /<\/?.+?\/?>/
2、去除空格:/\s+/
  \s:匹配任何空白符(空格、制表符、换页、换行…),等价于[ \f\n\r\t\v]
  \s+:匹配上述任意多个字符

  "." 表示除\n之外的任意字符
  "*" 表示匹配0-无穷
  "+" 表示匹配1-无穷

三、设置contenteditablefocus时,光标移动文本最后。

setFocu($(".className"));
function setFocu(ele) {
  ele = ele[0];
  ele.focus();
  var range = document.createRange();
  range.selectNodeContents(ele);
  range.collapse(false);

  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1"/>
<title>Title</title>
<script src="../commonJs/jquery-3.1.0.min.js"></script>
<style>
* {box-sizing: border-box;}
.txtBox {
width: 100%;
height: 300px;
outline: none;
padding: 10px;
border: 1px solid #FCA700;
} .txtBox:empty::after {
display: block;
content: attr(placeholder);
color: #999;
} .lengthTip {
text-align: right;
}
</style>
</head>
<body>
<div class="txtBox" contenteditable="true" placeholder="请输入内容"></div>
<p class="lengthTip"><span class="txtLength">0</span> / 500</p>
<script>
$(function () {
txtObj.init();
}); var txtObj = {
getLength: function () {
var txtBox = $(".txtBox");
txtBox.keyup(function () {
var reg = /<\/?.+?\/?>|\s+/g;
var txtLen = txtBox.html().replace(reg, "").length;
$(".txtLength").html(txtLen);
});
}, getTxt: function () {
$(".txtBox").html(txtJson.txt);
txtObj.setFocus($(".txtBox"));
}, // 设置contenteditable光标位置
setFocus: function (ele) {
ele = ele[0];
var range = document.createRange();
range.selectNodeContents(ele);
range.collapse(false); var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}, init: function () {
txtObj.getLength();
txtObj.getTxt();
}
} var txtJson = {
"txt": '<div class="txtContent"><span>内容只包括文本,不包括html标签,空格、换行……</span></div>'
}
</script>
</body>
</html>

最新文章

  1. springmvc原理
  2. 调用mybatis generator已经生成好的dao来查询例子
  3. 手写PHP AJAX数据脚本
  4. Beta版本冲刺Day4
  5. 反射+泛型+缓存 ASP.NET的数据层通用类
  6. Delphi初学者,向万一老师致敬
  7. 关于两个php.ini的说明
  8. DispatcherServlet中使用的特殊的Bean
  9. BI的核心价值[转]
  10. Java网络编程(TCP协议-服务端和客户端交互)
  11. 热修复 RocooFix篇(一)
  12. Linux中应用程序如何使用系统调用syscall
  13. ASP.NET Core实现类库项目读取配置文件
  14. C陷阱:求数组长度
  15. Stall Reservations
  16. python+matplotlib+绘制不同图标类型
  17. python基础(6)-深浅拷贝
  18. python中模块包的离线下载教程
  19. Echo团队Alpha冲刺随笔 - 第四天
  20. hdu 6208(后缀自动机、或者AC自动机

热门文章

  1. Homebrew安装环境
  2. 如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
  3. Spring 框架中的单例 bean 是线程安全的吗?
  4. Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式?
  5. 学习ELK日志平台(一)
  6. SQL函数对应的数据库(案例)
  7. ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock&#39; (2 &quot;No such file or directory&quot;)
  8. html5手机页面的那些meta
  9. JS 用状态机的思想看Generator之基本语法篇
  10. javaweb之浏览功能