正则表达式替换html元素属性的方法


Posted in Javascript onNovember 26, 2016

正则表达式替换任意html元素任意属性,或增加任意属性。

/**
 * 替换html中任意tag内任意attr值
 * @param src_str
 * @param tag
 * @param attr
 * @param val
 * @returns {*}
 */
replace_html_tag_attr: function(src_str, tag, attr, val) {
  if(typeof src_str === 'undefined' || typeof tag === 'undefined' || typeof attr === 'undefined' || typeof val === 'undefined') {
    return '';
  }

  var reg = new RegExp('<' + tag + '[^>]*(' + attr + '=[\'\"](\\w*%?)[\'\"])?[^>]*>', 'gi');
  return src_str.replace(reg, function (match) {
    if(match.indexOf(attr) > 0) {
      //包含attr属性,替换attr
      var sub_reg = new RegExp(attr + '=[\'\"](\\w*%?)[\'\"]', 'gi');
      return match.replace(sub_reg, attr +'=' + val);
    }else{
      //不包含attr属性,添加attr
      return match.substr(0, tag.length + 1) + ' ' + attr + '=' + val + ' ' + match.substr(tag.length + 2, match.length);
    }
  });
}

以上这篇正则表达式替换html元素属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
May 27 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 Javascript
js中indexof的用法详细解析
Dec 24 Javascript
深入理解选择框脚本[推荐]
Dec 13 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
vue-cli入门之项目结构分析
Apr 20 Javascript
webpack配置打包后图片路径出错的解决
Apr 26 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
vue-cli点击实现全屏功能
Mar 07 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
JavaScript中10个Reduce常用场景技巧
Jun 21 Javascript
js初始化验证实例详解
Nov 26 #Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
Nov 26 #Javascript
JS匿名函数实例分析
Nov 26 #Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
Nov 26 #Javascript
JS类的定义与使用方法深入探索
Nov 26 #Javascript
js控制台输出的方法(详解)
Nov 26 #Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 #Javascript
You might like
正则表达式语法
2006/10/09 Javascript
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
2016/10/11 Javascript
JavaScript实现向select下拉框中添加和删除元素的方法
2017/03/07 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
python获取代码运行时间的实例代码
2018/06/11 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python 处理string到hex脚本的方法
2018/10/26 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Pandas实现一列数据分隔为两列
2020/05/18 Python
详解python中的lambda与sorted函数
2020/09/04 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
工作室成员个人发展规划范文
2014/01/24 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
红歌会主持词
2015/07/02 职场文书
python基础入门之普通操作与函数(三)
2021/06/13 Python
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android