Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找到unwrapped元素的父元素,并使用jquery在.wrap()中使用它_Javascript_Jquery_Html - Fatal编程技术网

Javascript 找到unwrapped元素的父元素,并使用jquery在.wrap()中使用它

Javascript 找到unwrapped元素的父元素,并使用jquery在.wrap()中使用它,javascript,jquery,html,Javascript,Jquery,Html,我动态添加了div元素,其结构如下 <div class="blogPost"> <a href="link/to/full_artical"> <h1>Some Heading</h1> </a> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p> </div> 我希望在jquery中

我动态添加了
div
元素,其结构如下

<div class="blogPost">
  <a href="link/to/full_artical">
    <h1>Some Heading</h1>
  </a>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit.
  </p>
</div>
我希望在
jquery
中有一种方法,可能是
unwrap()
wrap()
函数的组合

  • 我无权访问此动态添加内容的源
  • 正在动态添加div
提前谢谢

编辑

尝试

$('.blogPost').wrap('')

不工作

var link = $('a'),
    heading = link.find('h1'),
    blogPost = $('.blogPost');

blogPost.prepend(heading);
blogPost.wrap(link);
link.remove();
您可以使用复制
元素并将其存储在变量中。用于删除
h1
的父级
a
,并用于将复制的元素包装在
.blogPost
周围

var clone=$(“a”).clone().children().remove().end();
$(“h1”).unwrap().parent().wrap(克隆)


Lorem ipsum dolor sit amet,奉献精英。

另一种方式:

var href=$('.blogPost').children('a').attr('href');
$('.blogPost').wrap('');
$('h1')。展开()


Lorem ipsum dolor sit amet,奉献精英。


您是否如您所说尝试过先展开()再包裹()?结果如何?似乎你知道该怎么做,但你期待在这里找到一个复制粘贴解决方案。请将你的js放在这里,因为你使用了
$(this)
,而它没有定义。@PrakharSingh如果你有多个
.blogPost
请看,我还将得到查询到的blogPost锚定子元素attr('href'),然后分别添加回来,因为它似乎是这里的一个主要功能。创建新的锚定标签是个坏主意。如果元素有另一个属性(class,id,title,…),代码就不能正常工作。谢谢,我只需要遍历所有的
.blogPost
s。用这个代码。你能告诉我为什么
$('.blogPost').wrap('')
不起作用。你是说你的html中有多个
blogPost
类@普拉哈辛格
var link = $('a'),
    heading = link.find('h1'),
    blogPost = $('.blogPost');

blogPost.prepend(heading);
blogPost.wrap(link);
link.remove();