寻找这个Jquery代码的更好/更优雅的解决方案

7nu*_*ull 0 javascript jquery

为了继续我优雅的解决方案系列,我试图找出如何以更好的方式做到这一点.

我循环遍历所有a标签并尝试修改href.

这段代码有效,但看起来很草率,很想知道如何更有效地做到这一点.

$('a').each(function(){
    x=$(this).attr('href').replace(/mls\_number/i,'interior=yes&mls_number');
    $(this).attr('href', x);
});
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 9

您可以使用.attr()函数重载,它允许您修改现有的属性值:

$('a').attr('href', function(index, attr) {
    return attr.replace(/mls\_number/i, 'interior=yes&mls_number');
});
Run Code Online (Sandbox Code Playgroud)

  • @Spudley,这就是jQuery的美妙之处.对于拥有一般jQuery文化的人来说,代码应该是不言自明的. (3认同)