我在 Google Chrome 中使用 jquery append 方法时遇到了一个奇怪的问题,当元素为空时,它不会编写结束标记,但如果元素包含字符,则会编写结束标记。
如果我使用此代码:
$('#workZone .canvas').each(function(i) {
$(this).append('<canvas id="test"></canvas>');
});
}
我在标记中得到了这个:
<canvas id="test">
如果我使用此代码:
$('#workZone .canvas').each(function(i) {
$(this).append('<canvas id="test">i</canvas>');
});
}
我得到了我期望在标记中得到的内容:
<canvas id="test">i</canvas>
显然,我想要结束标签,但不必包含一次性字符。这是怎么回事?
这是 jsfiddle 上的测试用例:http://jsfiddle.net/YSDnk/
谢谢!
蒂姆
最佳答案
试试这个:
$(this).append('<canvas id="test"><!-- //comment --> </canvas>');
您应该在空白处放置 html 注释。 这样就会显示结束标记。
关于jquery append() 不写结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309372/