LoginSignup
5
5

More than 5 years have passed since last update.

汎用的なDOMオブジェクト生成関数

Last updated at Posted at 2012-04-13

いちいち document.createElement()を使ったりプロパティを指定したりするのが面倒なあなたへ。
ポイントは、第三引数のinnerの中にこの関数をネストして使えるという点。

code
var ce = function(elem, attr, inner) {
    var _elem = document.createElement(elem);
    if(inner) {
        if( typeof inner == "string") {
            _elem.innerHTML = inner || "";
        } else if( typeof inner == "object") {
            _elem.appendChild(inner);
        }
    }
    if(attr) {
        for(var i in attr) {
            if(i == "className") {
                _elem.className = attr[i];
            } else {
                _elem.setAttribute(i, attr[i]);
            }
        }
    }
    return _elem;
}
Howtouse
var div = ce("div",{
    id : "hoge",
    className : "foo",
    "data-example" : "var"
},ce("a",{
    href : "http://qiita.com"
},"Link to Qiita"));
document.body.appendChild(div);
html
<div id="hoge" class="foo" data-example="var">
<a href="http://qiita.com">Link to Qiita</a>
</div>
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5