我在通过 jQuery 动态地将现有 Canvas 添加到 div 时遇到问题。我还尝试了多种选项来附加此选项,但任何一个都有效。
这是我的代码:
<div class="a">
<div id="b"></div>
<div id="c" class="c">
</div>
</div>
jQuery:
$(document).ready(function()
{
if($('.myDivIfLoad').text().length >= 0)
{
//$('canvas[class="canvasClass"]').appendTo($('.c')); // doesn't work
//$('canvas[class="canvasClass"]').append($('.c')); // doesn't work
//var canv= $('canvas[class="canvasClass"]'); //doesn't work
//document.getElementById('c').appendChild(canv) // doesn't work
$('canvas.canvasClass').appendTo('.c')
$(function()
{
$(".a").hover(function()
{
$(".a").stop(true, false).animate({right: "0" }, 800, 'easeOutQuint' );
}, function()
{
$(".a").stop(true, false).animate({right: "-245" }, 800, 'easeInQuint' );
},1000);
});
}
});
如果有人能帮助我,我将不胜感激!
编辑
如果这取决于我的代码,我根据本教程:http://w3lessons.info/demo/sliding-facebook-likebox/
最佳答案
四件事:
在 CSS 中,标识符((您在下面说过这些不是您真正的id
值、类名)cannot start with a digit ,所以选择器.3
无效(选择器#1
等也是如此)。id
和类,并且您真正的不以数字开头。)考虑启动您的id
s 和类名称带有字母,这样您的选择器就有效。您的
appendTo
,不是append
,是正确的方法,问题只是选择器。canvas[class="canvasClass"]
寻找canvas
完全类canvasClass
并且没有其他。它将匹配<canvas class="canvasClass">..</canvas>"
但不是<canvas class="foo canvasClass">..</canvas>
或类似的。按类别选择的最佳方法是类别选择器,canvas.canvasClass
,它将匹配具有该类的任何元素(即使它还有其他元素)。这是可疑的:
$('.myDivIfLoad').val().length
。该类建议它是div
,但是div
s 没有值。他们有内容。您可能需要.text().length
或.html().length
或.children().length
或.contents().length
取决于您对该行的目标是什么。
关于javascript - 动态地将现有 Canvas 添加到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27168684/