我需要删除在某些元素上设置的所有属性(使用vanilla JS或jQuery),除了一些手动选择的元素.让我们说我有一个图像:
<img hspace="4" border="1" vspace="4" src="someimage.jpg" alt="somealt" />
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
<img src="someimage.jpg" alt="somealt" />
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一方法就是.removeAttr()每一个属性.但问题是有时元素具有W3C规范中不存在的属性.我想删除所有其他未列入白名单的属性.
你会怎么做?
use*_*716 13
这是一个迭代attributes列表的解决方案.
我实际上只将其值设置为""(空字符串),因为由于某种原因,removeAttribute()当它到达border属性时失败.调查...
试试看:
var whitelist = ["src","alt"];
$('img').each(function() {
var attributes = this.attributes;
var i = attributes.length;
while( i-- ) {
var attr = attributes[i];
if( $.inArray(attr.name,whitelist) == -1 )
this.removeAttributeNode(attr);
}
});?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7112 次 |
| 最近记录: |