Can you set multiple attributes with the DOM's setAttribute function?

后端 未结 5 1179
暗喜
暗喜 2021-01-06 16:09

Let\'s say I wanted to create an input element using the DOM. Instead of doing something like this

var input = document.createElement(\"input\");
input.setAt         


        
5条回答
  •  被撕碎了的回忆
    2021-01-06 16:45

    I personally think you're taking DRY too far (the three statements do different things, so I don't see how it's not DRY.) But if you must abstract it, just write a function to do it:

    var input = document.createElement("input");
    
    function setAttributes(el, options) {
       Object.keys(options).forEach(function(attr) {
         el.setAttribute(attr, options[attr]);
       })
    }
    
    setAttributes(input, {"class": "my-class", "type": "checkbox", "checked": "checked"});
    
    console.log(input);

提交回复
热议问题