正则表达式替换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实现的UBB编码函数
Mar 09 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
JS代码实现table数据分页效果
May 26 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 Javascript
Vue-Router2.X多种路由实现方式总结
Feb 09 Javascript
JS实现选项卡效果的代码实例
May 20 Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
Element Tooltip 文字提示的使用示例
Jul 26 Javascript
ES6中的Javascript解构的实现
Oct 30 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
php中利用explode函数分割字符串到数组
2014/02/08 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
在视频前插入广告
2006/11/20 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
python中cPickle类使用方法详解
2018/08/27 Python
python pandas模块基础学习详解
2019/07/03 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
顶岗实习计划书
2014/01/10 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
群众路线个人整改方案
2014/10/25 职场文书
2014年环保局工作总结
2014/12/11 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
教师节简报
2015/07/20 职场文书
KVM基础命令详解
2022/04/30 Servers
git中cherry-pick命令的使用教程
2022/06/25 Servers