2017-08-11 166 views
1

我想通过点击div中的按钮将我的HTML div导出为jpeg,我不希望按钮被打印。因此,我需要在div上的选择器,它不会选择具有div内某个类的项目。选择一个没有内部特定元素的元素

我已经试过:不是()选择,但它不appearantly工作:

$(".asdf:not(.export-button)") 

这里是我的代码:

<div id="asdf"> 
    <p>Lorem ipsum ...</p> 
    <img src="area_graph.png" alt="graph"/> 
    <p>hallo</p> 
    <button class="export-button">EXPORT</button> 
</div> 

$(".export-button").on("click", function() { 

    var $tempNode = $(this).parent()[0]; 
    $tempNode.remove(".export-button"); 
    console.log($tempNode); 

    // image export 
}); 
+0

元素都为什么只是没有设置显示:没有给该按钮? – user5014677

+0

为什么不克隆格'asdf'与隐藏的div上的按钮,并使用该div使图像 – guradio

回答

0

由于DOM是树结构,当你选择一个元素,你可以得到它的所有孩子。要做到你需要你需要什么选择元素,然后remove()你不想在另一份声明中

$(".export-button").on("click", function() { 
 
    var $tempNode = $(this).parent().clone(); 
 
    $tempNode.find(".export-button").remove(); 
 
    console.log($tempNode.html()); 
 

 
    // image export 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="asdf"> 
 
    <p>Lorem ipsum ...</p> 
 
    <img src="area_graph.png" alt="graph" /> 
 
    <p>hallo</p> 
 
    <button class="export-button">EXPORT</button> 
 
</div>

+0

隐藏将工作正确,而不是完全删除按钮更改隐藏的可见性,就好像它不存在 – guradio

+0

@guradio也可能。 –

+0

如果我需要从点击div的这个元素中选择它,该怎么办?下面的代码不适用于我: var $ tempNode = $(this).parent()[0]; $ tempNode.remove(“。export-button”); – DavidH

相关问题