有没有办法直接用jquery修改DOM元素的属性?

时间:2016-11-09 07:55:20

标签: javascript jquery

有没有人知道缩短这个的方法:

$('.el').attr('src', $('.el').attr('src').replace('/subpath1/', '/subpath2/'))

2 个答案:

答案 0 :(得分:5)

使用回调函数执行此操作,您可以将旧属性值作为第二个参数。

$('.el').attr('src',function(i, oldSrc){
  return oldSrc.replace('/subpath1/', '/subpath2/');
})

ES6 arrow function

$('.el').attr('src', (i, s) => s.replace('/subpath1/', '/subpath2/'))

您可以使用捕获组正则表达式减少代码长度。

$('.el').attr('src', (i, s) => s.replace(/(\/subpath)1\//, '$12/'))

答案 1 :(得分:1)

您也可以首先将元素存储在var中:

var el = $('.el');
el.attr('src', el.attr('src').replace('/subpath1/', '/subpath2/'))

所以你不需要第二次抓取DOM。