使用 attr 替换 html 宽度标签

Using attr to replace html width tag

我正在使用下面的代码来替换

$('iframe').map(function(i, el) {
       var amp_iframe = $('<amp-iframe layout="responsive"></amp-iframe>');
       amp_iframe.attr('width', $(this).attr('width'));
       amp_iframe.attr('sandbox', 'allow-scripts allow-same-origin');
return $(this).replaceWith(amp_iframe);
});

输出结果如下:

<amp-iframe layout=responsive src="https://docs.google.com/forms/d/e/abcxxxxxx/viewform?embedded=true" width=100% height=750 frameborder=0 sandbox="allow-scripts allow-same-origin"></amp-iframe>

我想将 width="100%" 转换为 width="100" 并删除 %。我该怎么做?

如果您从 $(this).attr('width') 获得 "100%" 那么您可以使用:

 $(this).attr('width').replace(/\%/, "")

但请确保您通过添加 fail-safe 代码获得 $(this).attr('width') 的价值,否则它会崩溃。

编辑:是的。你可以这样替换:

let width = $(this).attr('width').replace(/\%/, "")
amp_iframe.attr('width', width);