javascript - jQuery appendTo - 防止添加结束标记

标签 javascript jquery

我正在构建一个 anchor 标记,如下所示:

$('<a href="javascript: void(0)" xml = "' + MapLayerSourceInfo + '"onclick=" EditXmlDataEditor(this)">Edit</a>').appendTo(container);

如果 MapLayerSourceInfo 的值为 我得到以下内容,这就是我想要的。

<a href="javascript: void(0)" xml="<source_info></source_info>" onclick=" EditXmlDataEditor(this)">&lt;......&gt;</a>

但是,如果 MapLayerSourceInfo 的值为 ,则 jQuery appendTo 会给我这个:

<a href="javascript: void(0)" xml="<source_info></a>" onclick=" EditXmlDataEditor(this)">&lt;......&gt;</a>

它添加了 anchor 的结束标记。我该如何防止这种情况发生?

最佳答案

您应该转义字符串或使用不同的语法来创建元素:

$('<a>', {
    xml: MapLayerSourceInfo,
    text: 'Edit',
    href: '#',
}).appendTo(container);

http://jsfiddle.net/mgm7egcq/

使用上述语法,您可以强制 jQuery 在幕后使用 attr 方法。建议避免使用 onclick 属性,它会使您的代码难以维护,并且通常是一种不好的做法。对于动态生成的元素,您可以委托(delegate)事件。

关于javascript - jQuery appendTo - 防止添加结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252646/

相关文章:

javascript - Riot JS 文本搜索错误

javascript - 延迟加载不显示我的图像

javascript - 一次保存多个 Backbone 模型

javascript - Selenium Webdriver 在 starbucks.com 上被屏蔽,有什么办法吗?

javascript - 为一组元素动态创建回调函数

javascript - Angular $routeParams 空对象

javascript - 为什么包含 prototype.js 会破坏 jquery bbq 的功能?

jquery - 如果主体类发生变化,使用 jQuery 替换 CSS 样式表

JavaFX 展望如日历

javascript - 查看 document.location.href 何时完成