我有一堆ShowDetails
类的链接。对于每个链接,我想显示一个模态窗口MyModal
,并替换div的内容DocDetails
。当我尝试通过以下JavaScript执行此操作时,div内容永远不会更新,但没有抛出错误:
$("a[class='ShowDetails']").on( "click", function(e) {
e.preventDefault();
e.stopPropagation();
$('#DocDetails').replaceWith( "details" );
$('#MyModal').modal('show');
});
解决这个问题的任何帮助都会很棒。我的长期目标是通过AJAX响应获取内容以重新DocDetails
,这部分工作正常,因此与问题无关。
答案 0 :(得分:1)
Javascript对我来说是正确的,因此我认为HTML存在问题。
我已经删除了Fiddle合并你的Javascript。
jQuery replaceWith
函数删除具有指定ID的元素并将其替换为指定的内容,因此在您的示例中它将替换
<div class="modal-body">
<div id="DocDetails">One fine body…</div>
</div>
与
<div class="modal-body">
model
</div>
请注意,它已使用ID DocDetails删除了div,并将其替换为文本模型,而不是包含文本模型的div。因此,如果再次单击链接,则ID DocDetails的div将不再存在。如果你希望div保留,你可以改为:
$('#DocDetails').html( "details" );