jquery append() 不写结束标记

标签 jquery append

我在 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/

相关文章:

javascript - 通过动态键访问对象未定义错误

javascript - AngularJS 内存泄漏

c++ - Windows 中的 Exe 在调用 GetWindowsDirectory 时 append wstring 时崩溃

javascript - 删除和追加 DOM 元素

javascript - jQuery:意外的 token 非法

Python 数组奇怪的行为?

javascript - 如何在 JQuery 中自动调用加载函数?

javascript - 匹配嵌套对象 JS、jQuery 中的值的最佳方法

javascript - jQuery:如果 span 包含任何这些单词,请添加此类

javafx - 将文本 append 到 TextArea 时出现问题 (JavaFX 8)