【问题标题】:Why isn't the html appending to the div?为什么html不附加到div?
【发布时间】:2015-11-26 03:00:53
【问题描述】:

我正在尝试将 Jquery 中跨度的内部 HTML 附加到屏幕 div。我尝试了 append 和 appendTo。代码如下:

html代码:

<div class="screen"></div>
<div class="keys">
            <!-- operators and other keys -->
            <span>7</span>
            <span>8</span>
            <span>9</span>
            <span>+</span>
            <span>4</span>
            <span>5</span>
            <span>6</span>
            <span>-</span>
            <span>1</span>
            <span>2</span>
            <span>3</span>
            <span>/</span>
            <span>0</span>
            <span>.</span>
            <span>=</span>
            <span>x</span>
        </div>

JS代码:

jQuery(function() {
    $(".keys span").click(function() {
        $(this).html().appendTo(".screen"); // also tried text() instead of html() with no luck
    });
});

我的代码有什么问题?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    appendTo 是从一个元素到另一个元素,要附加内容,您应该使用:

    $('.screen').append($(this).html());
    

    $(this).appendTo(".screen");
    

    文档:

    http://api.jquery.com/appendto/

    【讨论】:

    • 谢谢!高度赞赏
    【解决方案2】:

    如果您尝试将整个跨度附加到 .screen div,则需要克隆对象 appendTo(".screen")

    jQuery(function() {
        $(".keys span").click(function() {
            $(this).clone().appendTo(".screen");
        });
    });
    

    http://jsfiddle.net/x9caqh1e/

    如果您只是想在跨度内附加值。您需要定位 .screen div 并附加 $(this).text()

    jQuery(function() {
        $(".keys span").click(function() {
            $(".screen").append($(this).text());
        });
    });
    

    http://jsfiddle.net/10L625v7/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多