0

我正在从 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')
                )
            )
        );

而且有很多createElement('div')说法。

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

4

2 回答 2

3

自定义函数呢?

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')
            )
        )
    );
于 2013-07-31T01:07:46.140 回答
1

您可以使用 jQuery clone():

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')
            [...]
于 2013-07-31T00:54:44.080 回答