一个Var,多个createElement

one Var, multiple createElement

本文关键字:createElement 多个 Var 一个      更新时间:2023-09-26

我正在从js创建一个html结构。

var e = document;
        // HTML Tree
        $this.append(
            $(e.createElement('div')).addClass('wood-bottom'), 
            $(e.createElement('div')).addClass('jalendar-wood')
                .append(
                    $(e.createElement('div')).addClass('jalendar-pages')
                        .append(
                            $(e.createElement('div')).addClass('pages-bottom'),
                            $(e.createElement('div')).addClass('header'),
                            $(e.createElement('div')).addClass('total-bar'),
                            $(e.createElement('div')).addClass('days')
                )
            )
        );

并且存在如此多的CCD_ 1语句。

这种方法有更好的解决方案吗?如果我定义var e = document.createElement('div'),它不会像我想要的那样工作。

自定义函数怎么样?

var div = function(klass){return $(document.createElement('div')).addClass(klass)};
    // HTML Tree
    $this.append(
        div('wood-bottom'), 
        div('jalendar-wood')
            .append(
                div('jalendar-pages')
                    .append(
                        div('pages-bottom'),
                        div('header'),
                        div('total-bar'),
                        div('days')
            )
        )
    );

您可以使用jQuery克隆():

var e = document;
var $d = $(e.createElement('div'));
$this.append(
    $d.clone().addClass('wood-bottom'),
    $d.clone().addClass('jalendar-wood')
        .append(
            $d.clone().addClass('jalendar-pages')
            [...]