正则表达式替换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中大括号“{}”的多义性
Dec 02 Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 Javascript
JavaScript实现在页面间传值的方法
Apr 07 Javascript
js实现模拟计算器退格键删除文字效果的方法
May 07 Javascript
jQuery中用on绑定事件时需注意的事项
Mar 19 Javascript
详解element-ui中表单验证的三种方式
Sep 18 Javascript
js回调函数仿360开机
Dec 26 Javascript
Angular 多模块项目构建过程
Feb 13 Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 Javascript
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
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
关于时间计算的结总
2006/12/06 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
jquery tab插件制作实现代码
2010/06/22 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
基于bootstrap实现广告轮播带图片和文字效果
2016/07/22 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python中的set实现不重复的排序原理
2018/01/24 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
Django中使用Celery的教程详解
2018/08/24 Python
python http基本验证方法
2018/12/26 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
教师试用期自我鉴定
2014/02/12 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
行政处罚告知书
2015/07/01 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
Python中requests库的用法详解
2022/06/05 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技