正则表达式替换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 相关文章推荐
一个用js实现的页内搜索代码
May 23 Javascript
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
统计出现最多的字符次数的js代码
Dec 03 Javascript
jquery 获取标签名(tagName)示例代码
Jul 11 Javascript
基于jquery实现的省市区级联无ajax
Sep 24 Javascript
JS实现将人民币金额转换为大写的示例代码
Feb 13 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
Angularjs结合Bootstrap制作的一个TODO List
Aug 18 Javascript
vue根据进入的路由进行原路返回的方法
Sep 26 Javascript
async/await让异步操作同步执行的方法详解
Nov 01 Javascript
Vue+axios封装请求实现前后端分离
Oct 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
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
PHP开发需要注意的安全问题
2010/09/01 PHP
php微信开发之图片回复功能
2018/06/14 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
js根据日期判断星座的示例代码
2014/01/23 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
深入理解js promise chain
2016/05/05 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
node后端服务保活的实现
2019/11/10 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
matplotlib中legend位置调整解析
2017/12/19 Python
Python微信公众号开发平台
2018/01/25 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Etam德国:内衣精品店
2019/08/25 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
CSMA/CD介质访问控制协议
2015/11/17 面试题
几个Shell Script面试题
2014/04/18 面试题
科学发展观演讲稿
2014/09/11 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
学校会议通知范文
2015/04/15 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
java基础——多线程
2021/07/03 Java/Android