我正在构建一个 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)"><......></a>
但是,如果 MapLayerSourceInfo 的值为
<a href="javascript: void(0)" xml="<source_info></a>" onclick=" EditXmlDataEditor(this)"><......></a>
它添加了 anchor 的结束标记。我该如何防止这种情况发生?
最佳答案
您应该转义字符串或使用不同的语法来创建元素:
$('<a>', {
xml: MapLayerSourceInfo,
text: 'Edit',
href: '#',
}).appendTo(container);
使用上述语法,您可以强制 jQuery 在幕后使用 attr
方法。建议避免使用 onclick
属性,它会使您的代码难以维护,并且通常是一种不好的做法。对于动态生成的元素,您可以委托(delegate)事件。
关于javascript - jQuery appendTo - 防止添加结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25252646/