在jQuery中从两个父项中删除子对象

时间:2015-07-16 19:55:08

标签: javascript jquery html

我正在尝试从make[1]: Entering directory `/opt/Qt5.4.1/5.4/gcc_64/bin/src' compiling /home/natile/qtcreator-projects/qwt/qwt-5.2/src/qwt_abstract_scale_draw.cpp In file included from /home/natile/qtcreator-projects/qwt/qwt-5.2/src/qwt_abstract_scale_draw.cpp:19:0: /home/natile/qtcreator-projects/qwt/qwt-5.2/src/qwt_scale_map.h:92:5: error: ‘QT_STATIC_CONST’ does not name a type /home/natile/qtcreator-projects/qwt/qwt-5.2/src/qwt_scale_map.h:93:5: error: ‘QT_STATIC_CONST’ does not name a type make[1]: *** [obj/qwt_abstract_scale_draw.o] Error 1 make[1]: Leaving directory `/opt/Qt5.4.1/5.4/gcc_64/bin/src' make: *** [sub-src-make_first-ordered] Error 2 <p>

内的链接列表中删除父标记
<span>

<p>
  <span>
    <a href="#">One</a>
  </span>
</p>

<p>
  <span>
    <a href="#">Two</a>
  </span>
</p>


jQuery的:

<a href="#">One</a>
<a href="#">Two</a>

我尝试过多种方法,但我无法弄明白。

2 个答案:

答案 0 :(得分:2)

假设a标记始终位于单个span和单个p标记内,您可以调用$("a").unwrap().unwrap(); You can learn more about .unwrap() here。我在下面列出了一个工作示例。

$("a").unwrap().unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
  <span>
    <a href="#">One</a>
  </span>
</p>

<p>
  <span>
    <a href="#">Two</a>
  </span>
</p>

答案 1 :(得分:0)

如果您不知道与其父a相关的p元素的确切HTML结构,则可以提取a元素,然后{{1}完全remove()

p

Example fiddle

这样可以为任何级别的嵌套$('p').each(function() { $(this).find('a').insertBefore(this); $(this).remove(); }); 元素工作。