【发布时间】:2019-12-24 08:35:07
【问题描述】:
我想在加载页面时将一个 HTML 标记替换为另一个,而不显示原始标记。例如,我有一个名为 header 的类标签。
<h2 class="header">Original Tag</h2>
我想用另一个标签替换而不显示原始标签, 例如:
<div id="new-header" class="new-header">New Tag</div>
我使用这个代码:
<script>
$(document).ready(function() {
var orgHeader = $(".header");
orgHeader.replaceWith($("#new-header").html());
});
</script>
<div id="newheader" class="header">
<h3>I'm new.</h3>
</div>
但是,首先显示原始标签,然后将其删除,并显示新标签。
【问题讨论】:
-
您不能在加载页面之前执行此操作,因为这不是客户端 JS 的工作方式。你也不能有不匹配的开始/结束标签
-
您可以使用 CSS 隐藏 h2 元素,使其不显示。然后使用 JS 进行操作并更改 CSS 以显示元素。
-
为什么您的代码使用
new-header和newheader似乎可以互换?此外,如果您的目标是立即替换它而不显示它,为什么还要显示“原始”元素? -
谢谢。如果可能,请分享一个例子。我的主要问题是,我想隐藏原始标签然后显示新标签,而不显示原始标签,即使是片刻。
-
这个问题的主要目标是用我的菜单替换 nopcommerce 顶部菜单。
标签: jquery replacewith