在没有特定孩子的情况下提取body元素

时间:2016-05-10 10:12:45

标签: javascript jquery html html2canvas

有没有办法提取没有特定子元素的body元素?

例如,如果我有:

<body>
  <div id="id1" class="class1" />
  <div id="id2" class="class2" />
</body>

,我需要提取的是:

<body>
  <div id="id1" class="class1" />
</body>

实际上,我打算使用html2canvas库从HTML代码中创建canvas元素,但我不想在canvas元素中包含所有正文子元素。

3 个答案:

答案 0 :(得分:2)

如果你检索一个父元素,那么你也必须带走它的所有子元素。在这种情况下可能的解决方法是选择body,克隆它,然后删除不需要的子元素,如下所示:

var $bodyClone = $('body').clone();
$bodyClone.find('#id2').remove();
// use $bodyClone as needed here...

答案 1 :(得分:1)

$('body').not("#id2").html(); 
or 
$('body').not(".class2").html();

这是多个

$( "div" ).not( ".someclass, #someid,.class").html()
希望它会有所帮助

答案 2 :(得分:0)

您可以使用document.getElementById(id)获取一个元素

getElementsByClassName(class)然后过滤返回的数组

使用更好的ID或类可以帮助您完全避免过滤,只需将所有画布分配给一个类并替换它们。