Javascript 将现有画布动态添加到div

Javascript 将现有画布动态添加到div,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我在通过jQuery将现有画布动态添加到div时遇到问题。我还尝试了许多附加选项,但任何一个都可以 这是我的密码: <div class="a"> <div id="b"></div> <div id="c" class="c"> </div> </div> 如果有人能帮助我,我将非常感激 编辑 如果它取决于我基

我在通过jQuery将现有画布动态添加到div时遇到问题。我还尝试了许多附加选项,但任何一个都可以

这是我的密码:

<div class="a"> 
    <div id="b"></div> 
    <div id="c" class="c"> 
    </div> 
</div>
如果有人能帮助我,我将非常感激

编辑
如果它取决于我基于本教程编写的代码:

您可以像这样附加它,例如使用方法(而不是):

或者更好

$('canvas.canvasClass').appendTo('.c');

或者即使你真的想要

var canv = $('canvas.canvasClass');
document.getElementById('c').appendChild(canv[0]);
四件事:

  • 在CSS中,标识符(
    id
    值、类名),因此选择器
    .3
    无效(选择器
    #1
    等也是无效的)。(您在下面已经说过,这些不是您真正的
    id
    s和类,您真正的不是以数字开头的。)

    考虑以字母开头您的
    id
    s和类名,以便选择器有效

  • 您的
    appendTo
    ,而不是
    append
    ,是正确的选择,问题在于选择器

  • canvas[class=“canvasClass”]
    查找
    画布
    ,其中
    canvasClass
    ,而没有其他类。它将匹配
    。“
    但不匹配
    或类似项。按类选择的最佳方式是类选择器,
    canvas.canvasClass
    ,它将匹配该类的任何元素(即使它还有其他元素)

  • 这是可疑的:
    $('.myDivIfLoad').val().length
    。类建议它是
    div
    ,但
    div
    没有值。它们有内容。您可能需要
    .text().length
    .html().length
    .childrent().length
    .contents().length
    取决于您对该行的目标


  • 嗯……你是对的。那么可能
    'canvas[class=“canvasClass”]
    选择器什么也不选择。我尝试了你建议的所有选项,但没有人适合我。canvas[class=“canvasClass”]返回canvas,但它不会附加到div。
    $('canvas.canvasClass').appendTo('.c');
    
    var canv = $('canvas.canvasClass');
    $('.c').append(canv);
    
    var canv = $('canvas.canvasClass');
    document.getElementById('c').appendChild(canv[0]);