提取没有特定内容的正文元素 child
Extract body element without a particular child
有没有办法在没有特定 child 元素的情况下提取正文元素?
例如,如果我有:
<body>
<div id="id1" class="class1" />
<div id="id2" class="class2" />
</body>
,我需要提取的是:
<body>
<div id="id1" class="class1" />
</body>
实际上,我打算使用 html2canvas 库从 HTML 代码中生成 canvas 元素,但我不想包含所有正文 children在 canvas 元素中。
如果您检索父元素,那么您还必须获取其所有子元素。在这种情况下,一种可能的解决方法是 select 和 body
,克隆它,然后删除不需要的子元素,如下所示:
var $bodyClone = $('body').clone();
$bodyClone.find('#id2').remove();
// use $bodyClone as needed here...
$('body').not("#id2").html();
or
$('body').not(".class2").html();
这是针对多个
$( "div" ).not( ".someclass, #someid,.class").html()
希望对您有所帮助
你可以用document.getElementById(id)
得到一个元素
或getElementsByClassName(class)
然后过滤返回的数组
使用更好的 ID 或 classes 可以帮助您完全避免过滤,只需给所有画布一个 class 并全部替换它们。
有没有办法在没有特定 child 元素的情况下提取正文元素?
例如,如果我有:
<body>
<div id="id1" class="class1" />
<div id="id2" class="class2" />
</body>
,我需要提取的是:
<body>
<div id="id1" class="class1" />
</body>
实际上,我打算使用 html2canvas 库从 HTML 代码中生成 canvas 元素,但我不想包含所有正文 children在 canvas 元素中。
如果您检索父元素,那么您还必须获取其所有子元素。在这种情况下,一种可能的解决方法是 select 和 body
,克隆它,然后删除不需要的子元素,如下所示:
var $bodyClone = $('body').clone();
$bodyClone.find('#id2').remove();
// use $bodyClone as needed here...
$('body').not("#id2").html();
or
$('body').not(".class2").html();
这是针对多个
$( "div" ).not( ".someclass, #someid,.class").html()
希望对您有所帮助
你可以用document.getElementById(id)
得到一个元素
或getElementsByClassName(class)
然后过滤返回的数组
使用更好的 ID 或 classes 可以帮助您完全避免过滤,只需给所有画布一个 class 并全部替换它们。