正则表达式替换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与C#编码解码
Dec 03 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
浅谈jQuery 选择器和dom操作
Jun 07 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
详解Node.js access_token的获取、存储及更新
Jun 20 Javascript
激动人心的 Angular HttpClient的源码解析
Jul 10 Javascript
JS求Number类型数组中最大元素方法
Apr 08 Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 Javascript
js字符串处理之绝妙的代码
Apr 05 Javascript
详解Vue-Router源码分析路由实现原理
May 15 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
Jul 19 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP后期静态绑定之self::限制实例分析
2018/12/21 PHP
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
前端主流框架vue学习笔记第一篇
2017/07/26 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
python设置windows桌面壁纸的实现代码
2013/01/28 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
Python类的继承和多态代码详解
2017/12/27 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
好军嫂事迹材料
2014/01/15 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
授权委托书范文
2014/07/31 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
贷款承诺书
2015/01/20 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
postgres之jsonb属性的使用操作
2021/06/23 PostgreSQL