正则表达式替换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代码[翻译]
Feb 12 Javascript
基于jquery的滚动鼠标放大缩小图片效果
Oct 27 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
javaScript中with函数用法实例分析
Jun 08 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
javascript中的3种继承实现方法
Jan 27 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
js运动事件函数详解
Oct 21 Javascript
详解JS对象封装的常用方式
Dec 30 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
了解javascript中let和var及const关键字的区别
May 24 Javascript
JavaScript的Set数据结构详解
Feb 18 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添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
javascript 类定义的4种方法
2009/09/12 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python实现信用卡系统(支持购物、转账、存取钱)
2016/06/24 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
python单例模式的多种实现方法
2019/07/26 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
文秘人员工作职责
2014/01/31 职场文书
市场营销专业求职信
2014/06/17 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
升职感谢信
2015/01/22 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers