有一种方法可以用更短的方式编写此代码 而不是
var aTag = document.createElement('a');
aTag.setAttribute('href', oUrl.toString());
aTag.setAttribute('rel', "test");
aTag.setAttribute('target', "_blank"),
...
我尝试使用以下无法正常工作......是否可能? 我在Jquery的网络示例中找到了,但我现在不想使用它...
var aTag = document.createElement('a'),
.setAttribute('href', oUrl.toString()),
.setAttribute('rel', "test"),
.setAttribute('target', "_blank"),
...
答案 0 :(得分:3)
当然,你可以使用循环。
function setAttributes(el, attrs) {
Object.keys(attrs).forEach(function (attr) {
el.setAttribute(attr, attrs[attr]);
});
}
var aTag = document.createElement('a');
setAttributes(aTag, {
href: oUrl,
rel: "test",
target: "_blank"
});
答案 1 :(得分:2)
您可以创建for循环功能
function setAttr(el, attrs) {
for(var key in attrs) {
el.setAttribute(key, attrs[key]);
}
}
然后称之为:
var aTag = document.createElement('a'),
setAttr(aTag, {
"href": oUrl.toString(),
"rel": "test",
"target": "_blank"
});