我正在尝试替换所有属性中的连字符
<a href="/page" id="someId" data-country="north-america" data-state="north-dakota">North Dakota</a>
像这样:
var el = document.getElementById('someId');
Array.prototype.slice.call(el.attributes).forEach(function(item) {
item.value.replace('-','_');
console.log(item.value);
});
无法弄清楚为什么它实际上没有用下划线替换连字符。我错过了什么吗?
答案 0 :(得分:1)
String.prototype.replace()
返回一个新的String,它不会改变原始的String。只是确定新的价值,你就完成了。
item.value = item.value.replace('-','_');
引自MDN文档:
此方法不会更改调用它的String对象。它只返回一个新字符串。