部分 ID id 在具有 jquery 替换功能的文本中可见

Section ID id is Visible in text with jquery replace function

我正在使用替换函数来替换 div。使用这样的东西:

$(document).ready(function() {
  $("#electricalengineering").click(function() {
    $("#section1").replaceWith("#section2");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="section1">
  <p>First Div</p>
  <a href="#">
    <p id="electricalengineering">Electrical Engineering</p>
  </a>
</div>
<div id="section2">
  <p>Second Div</p>
</div>

奇怪的是,点击后,#section2 显示为文本。有什么想法吗?

这是Working Example

当传递 "#section2" 时,您传递的是一个字符串,而不是 #section2

的内容

尝试将 jquery 对象传递给它

$("#section1").replaceWith($("#section2"));

您正在传递一个字符串,而不是您计划的 jquery 对象。

而不是 "#section2" 将其替换为 $("#section2"),如下所示。

$(document).ready(function(){
  $("#electricalengineering").click(function(){
    $("#section1").replaceWith($("#section2"));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<div id="section1">
<p>First Div</p>
<a href="#"><p id="electricalengineering">Electrical Engineering</p></a>
</div>
<div id="section2">
<p>Second Div</p>
</div>