正则表达式替换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应用之禁止抓屏、复制、打印
Feb 21 Javascript
Exjs 入门篇
Apr 07 Javascript
jQuery插件开发全解析
Oct 10 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
详解 javascript中offsetleft属性的用法
Nov 11 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 Javascript
详解React Native网络请求fetch简单封装
Aug 10 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 jQuery
vue项目打包后路由错误的解决方法
Apr 13 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
php 归并排序 数组交集
2011/05/10 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
js中有关IE版本检测
2012/01/04 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
2012/09/14 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
英语专业求职信
2014/07/08 职场文书
学校四风对照检查材料
2014/08/28 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书