正则表达式替换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 EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 Javascript
JavaScript触发onScroll事件的函数节流详解
Dec 14 Javascript
jquery实现左右轮播切换效果
Jan 01 jQuery
vue 进阶之实现父子组件间的传值
Apr 26 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
p5.js临摹旋转爱心
Oct 23 Javascript
JavaScript制作3D旋转相册
Aug 02 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
es6中let和const的使用方法详解
Feb 24 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
FCKeditor的安装(PHP)
2007/01/13 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
php绘制一条直线的方法
2015/01/24 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
python的socket编程入门
2018/01/29 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
Python3监控疫情的完整代码
2020/02/20 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
最新自我评价范文
2013/11/16 职场文书
办公室经理岗位职责
2014/01/01 职场文书
阳光体育活动方案
2014/02/16 职场文书
安全生产计划书
2014/05/04 职场文书
写给老师的保证书
2015/05/09 职场文书
就业推荐表院系意见
2015/06/05 职场文书
国家助学金受助感言
2015/08/01 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL