正则表达式替换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 相关文章推荐
用javascript连接access数据库的方法
Nov 17 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
Jun 23 Javascript
JavaScript中用于生成随机数的Math.random()方法
Jun 15 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
Jul 12 Javascript
你可能不知道的前端算法之文字避让(inMap)
Jan 12 Javascript
JavaScript实现微信号随机切换代码
Mar 09 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
Dec 05 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
JS如何实现封装列表右滑动删除收藏按钮
Jul 23 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php使用curl访问https示例分享
2014/01/17 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
php生成mysql的数据字典
2016/07/07 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
简单了解three.js 着色器材质
2020/08/03 Javascript
python魔法方法-属性访问控制详解
2016/07/25 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
学习python分支结构
2019/05/17 Python
django form和field具体方法和属性说明
2020/07/09 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
教师教学评估方案
2014/05/09 职场文书
大型会议策划方案
2014/05/17 职场文书
业务内勤岗位职责
2015/04/13 职场文书
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android