正则表达式替换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学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
Nov 24 Javascript
javascript实现避免页面按钮重复提交
Jan 08 Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 Javascript
简单实现js页面切换功能
Jan 10 Javascript
简单的js计算器实现
Oct 26 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
PostgreSQL Node.js实现函数计算方法示例
Feb 12 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 Javascript
vue使用watch监听属性变化
Apr 30 Vue.js
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
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
Swoole扩展的6种模式深入详解
2021/03/04 PHP
表单验证的完整应用案例探讨
2013/03/29 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
Move.js入门
2017/02/08 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
python获取网页状态码示例
2014/03/30 Python
Python编程之属性和方法实例详解
2015/05/19 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
python散点图实例之随机漫步
2018/08/27 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
Python类反射机制使用实例解析
2019/12/30 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
可口可乐广告词
2014/03/20 职场文书
文艺晚会策划方案
2014/06/11 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
公司管理建议书
2015/09/14 职场文书
sass 常用备忘案例详解
2021/09/15 HTML / CSS
浅谈Vue的computed计算属性
2022/03/21 Vue.js