jquery append创建了额外的元素

时间:2014-03-26 14:43:38

标签: javascript jquery dom append innerhtml

我的代码中的jquery.append会创建一个额外的元素。我不确定是什么错。

非常感谢您的帮助

var topDiv = document.createElement('div');

this.topDiv.innerHTML = '<div class="MyDiv1"></div><div class="MyDiv2">' +
                        '<canvas class="MyCanvas" width="10" height="1">' +
                        '</canvas></div><div class="MyDiv3"></div><span class="MySpan"></span>';
MyCanvasEle = topDiv.childNodes[1].childNodes[0];
MyCanvasEle.getContext('2d');

我想将另一个div添加到MyDiv2,与MyCanvas相同。最终我将在for循环中用i替换0(零),但是现在,第一个追加给了我带有所需位置,宽度和len的元素,但它也给了我额外的元素没有属性。

$(".MyDiv2" ).append('<div id="MyID' + 0 + '" class="MyClass1"><table border="1" width="100% height="5"><tr><td></td></tr></table></div>');
$("#MyID"+0).css("top", 5);

1 个答案:

答案 0 :(得分:1)

我假设0将替换为变量,无论如何您的追加代码无效 - 您错过了+

                                           V - insert here :)
$(".MyDiv2" ).append('<div id = "MyID' + 0 + '" class="MyClass1"><table border="1" width="100% height="5"><tr><td></td></tr></table></div>');
$("#MyID"+0).css("top", 5);

为了整洁也摆脱了id =

周围的空间
$(".MyDiv2" ).append('<div id="MyID' + 0 + '" class="MyClass1"><table border="1" width="100% height="5"><tr><td></td></tr></table></div>');
$("#MyID"+0).css("top", 5);

使用调试器(如F12 Chrome功能)总是一个好主意a)检查HTML结构和b)断开代码。