如何在不删除元素javascript的内容的情况下选择和删除元素

时间:2017-03-09 19:47:53

标签: javascript html css wordpress

我正在使用WordPress主题,并且有一个循环可以提取帖子并创建指向这些帖子的链接。我想删除一个标签,但仍然留在那里的内容。

<div class="members">
 <div class="wrapper">
   <a href="somelink">
     <img />
     <p>mycontent</p>
   </a>
 </div>
</div>

我得到的建议是选择a并将其放入一个称为目标的变量中。 然后获取内部html并将其添加到另一个名为content的变量中。 最后删除目标并将内容放回包装器div中。 我一直在选择a标签时遇到问题,因为它没有类并且在其他div中。

2 个答案:

答案 0 :(得分:0)

您可以使用$.html()获取链接的内容,使用$.after()在链接后插入该内容,然后删除$.remove()

链接

var $link = $('a'),
    stuff = $link.html();
$link.after(stuff).remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="members">
 <div class="wrapper">
   <a href="somelink">
     <img />
     <p>mycontent</p>
   </a>
 </div>
</div>

或者使用vanilla JS,只需使用innerHTML获取链接的内容并将其设置为包装器的innerHTML

var wrapper = document.getElementsByClassName('wrapper')[0],
    link = wrapper.getElementsByTagName('a')[0];
wrapper.innerHTML = link.innerHTML;
<div class="members">
 <div class="wrapper">
   <a href="somelink">
     <img />
     <p>mycontent</p>
   </a>
 </div>
</div>

答案 1 :(得分:0)

我在这里遗漏了什么...只需使用$("#mylink").removeAttr("href");

$(document).ready(function() {

  $("#remove-tag").click(function() {

    $("#my-link").removeAttr("href");

  });


});