热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

是否有一种简单的方法来清除SVG元素的内容?-IsthereaneasywaytoclearanSVGelement'scontents?

InHTML,Icancleara<div>elementwiththiscommand:在HTML中,我可以使用以下命令清除元素:div.inner

In HTML, I can clear a

element with this command:

在HTML中,我可以使用以下命令清除

元素:

div.innerHTML = "";

Is there an equivalent if I have an element? I can't find an innerHTML nor innerXML or even innerSVG method.

如果我有一个 元素,是否有一个等价的元素?我找不到innerHTML、innerXML甚至innerSVG方法。

I know the SVG DOM is a superset of the XML DOM, so I know I can do something like this:

我知道SVG DOM是XML DOM的超集,所以我知道我可以这样做:

while (svg.lastChild) {
    svg.removeChild(svg.lastChild);
}

But this is both tedious and slow. Is there a faster or easier way to clear an SVG element?

但这既乏味又缓慢。清除SVG元素有更快或更简单的方法吗?

8 个解决方案

#1


23  

You already gave one answer: you can always just loop over all children and remove them. If you think that you have too many child nodes then maybe you want to replace the svg node by an empty one. If your svg node has some attributes you may use a tag where you place all the child nodes and then just replace the node with an empty one.

您已经给出了一个答案:您总是可以对所有子元素进行循环并删除它们。如果您认为您有太多的子节点,那么您可能希望将svg节点替换为空节点。如果svg节点有一些属性,可以使用一个标记,将所有子节点放在其中,然后用一个空节点替换该节点。

#2


33  

If you're using jQuery, you can just do

如果您使用的是jQuery,您可以这样做

$("#svgid").empty();

This deletes all child elements of the svg while leaving its other attributes like width and height intact.

这将删除svg的所有子元素,同时保留其其他属性(如宽度和高度)不变。

#3


10  

Use d3.js. This will remove all contents nodes from svg.

使用d3.js。这将从svg中删除所有内容节点。

svg.selectAll("*").remove();

#4


6  

I agree to use the clone and replace the element with the cloned one.

我同意使用克隆并用克隆的元素替换元素。

Only one line code:

只有一行代码:

svg.parentNode.replaceChild(svg.cloneNode(false), svg);

#5


0  

use this? http://keith-wood.name/svg.html

使用这个吗?http://keith-wood.name/svg.html

there's also raphael: jQuery SVG vs. Raphael

还有raphael: jQuery SVG和raphael

I'd be tempted to trawl through and see who they're doing their .destroy() methods.

我很想浏览一下,看看他们在用.destroy()方法。

#6


0  

element = document.getElementById("elementID");
element.parentNode.removeChild(element);

I got the idea from http://www.carto.net/svg/manipulating_svg_with_dom_ecmascript/

我的想法来自http://www.卡通。net/svg/manipulation ating_svg_with_dom_ecmascript/

#7


0  

I've tried svg.text("") and it seems to work. Clears out all the inner text, keeps the attributes.

我已经尝试过svg.text(“”),它似乎起作用了。清除所有内部文本,保留属性。

#8


0  

You can use the clone and replace the element with the cloned one.

您可以使用克隆并用克隆的元素替换元素。

    var parentElement = svg.parentElement
    var emptySvg = svg.cloneNode(false);
    parentElement.removeChild(svg);
    parentElement.appendChild(emptySvg);

This will append the svg at the end, you might want to get the element before and append accordinaly

这将在最后附加svg,您可能希望在元素之前获得元素,并相应地附加


推荐阅读
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 本文全面解析了JavaScript中的DOM操作,并提供了详细的实践指南。DOM节点(Node)通常代表一个标签、文本或HTML属性,每个节点都具有一个nodeType属性,用于标识其类型。文章深入探讨了DOM节点的创建、查询、修改和删除等操作,结合实际案例,帮助读者更好地理解和掌握DOM编程技术。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文介绍了UUID(通用唯一标识符)的概念及其在JavaScript中生成Java兼容UUID的代码实现与优化技巧。UUID是一个128位的唯一标识符,广泛应用于分布式系统中以确保唯一性。文章详细探讨了如何利用JavaScript生成符合Java标准的UUID,并提供了多种优化方法,以提高生成效率和兼容性。 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • 如何使用 `org.eclipse.rdf4j.query.impl.MapBindingSet.getValue()` 方法及其代码示例详解 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 基于Java和SSM框架的志愿者管理平台源代码分析与实现
    本研究针对基于Java和SSM框架的志愿者管理平台进行了详细的源代码分析与实现。该平台属于Java Web项目,采用Java EE技术栈,并结合了Spring、Spring MVC和MyBatis三大核心框架(非开源)。项目名称为“基于SSM的志愿者管理系统”,旨在提升志愿者管理的效率和规范性。通过对系统架构、模块设计及关键代码的深入解析,本文为开发者提供了全面的技术参考和实践指导。 ... [详细]
  • Spring框架中枚举参数的正确使用方法与技巧
    本文详细阐述了在Spring Boot框架中正确使用枚举参数的方法与技巧,旨在帮助开发者更高效地掌握和应用枚举类型的数据传递,适合对Spring Boot感兴趣的读者深入学习。 ... [详细]
  • 在使用 jQuery 的 `html()` 方法时,我发现了一个奇怪的现象:该方法无法完整地插入指定的字符串内容。具体来说,当尝试插入较长或包含特殊字符的字符串时,部分内容可能会被截断或丢失。这一问题可能与 jQuery 对字符串的处理方式有关,建议在实际应用中进行充分测试以确保数据完整性。 ... [详细]
author-avatar
山野木每子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有