为什么html不附加到div?

时间:2015-11-25 18:51:08

标签: javascript jquery html

我试图在Jquery中追加屏幕div的内部HTML。我尝试了追加和追加。这是代码:

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
    });
});

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:1)

$('.screen').append($(this).html()); 是从一个元素到另一个元素,要附加内容,您应该使用:

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

{{1}}

文档:

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

答案 1 :(得分:1)

如果您尝试将整个范围附加到.screen div,则需要将对象克隆为appendTo(&#34; .screen&#34;)

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/