jQuery:Div和变量使用.after() - 函数呈现为[Object object]

时间:2016-02-16 12:35:39

标签: javascript jquery function variables

所以我正在为WordPress制作A4打印模板,我使用此代码创建一个新的部分(A4尺寸),复制内容然后将其放入新的有边缘的div,隐藏第一部分。你懂了? 好吧,当我使用$(this).after("copyCon");时,变量渲染得很好。 但是,使用下面的代码我得到了这个:

<section class="4">

 [object Object]

</section>

JS:

var docWrap = $('.docWrap');
   var a4Height = '1046.920';
   var docCon = $('.docCon');

    function cropA4() {
        if ( $(this).height() > a4Height) {
            var copyCon = $(".docCon").clone().css({
        "margin-top": "-297mm"});
            $(this).after("<section class="a4">" + copyCon + "</section>");
        }
    }
    docWrap.each(cropA4);

2 个答案:

答案 0 :(得分:2)

您需要使用.html方法更改节点copycon。

var docWrap = $('.docWrap');
       var a4Height = '1046.920';
       var docCon = $('.docCon');

        function cropA4() {
            if ( $(this).height() > a4Height) {
                var copyCon = $(".docCon").clone().css({
            "margin-top": "-297mm"});
                $(this).after("<section class="a4">" + copyCon.html() + "</section>");
            }
        }
        docWrap.each(cropA4);

答案 1 :(得分:1)

当然,“copyCon”只是其中一个案例中的文本,你需要从你的jquery对象中提取一些东西,这就是为什么你会看到沿线的一些toString()方法。< / p>

尝试以下这些,

$(this).after("<section class="a4">" + copyCon.val() + "</section>");

$(this).after("<section class="a4">" + copyCon.text() + "</section>");

取决于docCon是什么。