w3school中对svg的描述:https://www.w3school.com.cn/svg/svg_intro.asp
因其特殊性,使用一般的document.createElement(‘svg’)创建的svg在插入到html节点中无法正常显示尺寸。
需要使用document.createElementNS(‘http://www.w3.org/2000/svg’,‘svg’)创建的svg在插入到html节点中可以正常显示对其设置的宽高。
createElementNS的两个参数,第一个参数是svg的命名空间URI。
创建封装的方法
/*

  • tag:所要创建的标签名称

  • attrs: 所需要添加的属性,{key:val,key:val}
    */
    function makeSVG(tag, attrs) {
    const ns = ‘http://www.w3.org/2000/svg’;
    const xlinkns = ‘http://www.w3.org/1999/xlink’;

    let el= document.createElementNS(ns, tag);
    if (tag===‘svg’){
    el.setAttribute(‘xmlns:xlink’, xlinkns);
    }
    for (let k in attrs) {
    if (k === ‘xlink:href’) {
    el.setAttributeNS(xlinkns, k, attrs[k]);
    } else {
    el.setAttribute(k, attrs[k]);
    }
    }
    return el;
    }

可参考:https://blog.csdn.net/yiyueqinghui/article/details/108004272

js创建svg元素并插入到html中使用createElementNS相关推荐

  1. js读取html元素scr,了解一下JavaScript中的DOM编程

    如何在HTML中使用JavaScript 元素 元素用于在HTML页面中嵌入或引入JavaScript脚本代码.该元素默认被定义在 元素中 1.type:该属性定义script元素包含或src引入的脚 ...

  2. js获取html元素并且修改属性,JavaScript中获取和修改元素属性的值

    在上一篇关于<JavaScript中几个操作元素对象的函数方法>文章中记录了分别通过元素的ID属性,元素的标签名,Class类名来获取元素的节点对象. 今天记录两个函数可以用来获取和修改获 ...

  3. 用js在页面中创建svg标签不显示的问题

    问题描述 直接在页面写入SVG,图形正常可以显示, 但是使用js动态创建SVG,添加入DOM节点,页面无法显示SVG图形 原因 SVG是基于XML格式定义图像的一种技术,因此创建节点的时候,需要指定命 ...

  4. js动态创建input元素并自动获取焦点

    input元素不会自动获取焦点代码如下: <div><h2>js创建input元素并自动聚焦</h2></div><script> let ...

  5. [JS]笔记18_AJAX2_iframe元素AJAX跨域JSONP跨域

    1.iframe元素 iframe元素会创建包含另外一个文档的内联框架 常用属性: frameborder属性规定是否显示框架周围的边框 值:0/1 src属性规定要显示的文档的URL 可是:html ...

  6. 【项目技术点总结之一】vue集成d3.js利用svg加载图片实现缩放拖拽功能

    [项目技术点总结之一]vue集成d3.js利用svg加载图片实现缩放拖拽功能 前言 概述 技术介绍 实现过程 插件安装 引用组件 初始化组件 实现效果 简单理解 使用d3创建一个svg 在svg中提添 ...

  7. Study JavaScript《JS操作SVG的一些知识》

    前阵子学习了一下SVG(Scalable Vector Graphics),希望能借此弥补自己在图形艺术上的不足,当然最后也没有得到什么提高,不过也扩充了一些网页前段技术知识.通过做了一些小的设计项目 ...

  8. php在指定html元素中输出,如何从PHP中的数组输出html svg元素?

    我有svg元素的数组.我必须从列出的阵列中打印出来.我试图打印它,但它不工作.请指导我如何获取浏览器上呈现的svg元素. actualy有阵列中的其他项目我没有表现出bcoz的字符限制如何通过SVG标 ...

  9. svg元素 标签增加、移除class名

    svg元素 标签不支持jquery中addClass().removeClass()方法 解决方法 $.fn.addSvgClass = function(className) {return thi ...

最新文章

  1. 利用SMTP收发邮件
  2. java zmq订阅_从ZMQ PUB套接字获取订户过滤器
  3. 控制台浏览器代码实战
  4. android 第三方圆弧进度条,android 可配置的圆弧进度条
  5. ubuntu php 无法执行exec_利用webhook使php项目自动部署
  6. 移动端 uniapp 国际化一站式解决方案
  7. 为你的网站加上SSL,可以使用HTTPS进行访问
  8. Topcoder 658Div2
  9. 职业发展加速器,埃森哲智能云服务创新中心热招云人才
  10. DirectShow录屏,帧率不可控制?
  11. JS基础-DOM增删改-尚硅谷视频p103
  12. 每个python文件就是一个模块、模块的名字就是_Python-模块和包
  13. 超图iServer rest服务之最佳路径分析
  14. 【esp8266】【Node.js】【Websocket】esp8266和Node.js通过websocket进行通信,实验记录及踩坑记录
  15. Ionic5项目android打包流程
  16. [BZOJ]4453: cys就是要拿英魂!
  17. gcc -wall -pedantic -ansi
  18. 网络摄像机IPCamera RTSP直播播放网络/权限/音视频数据/花屏问题检测与分析助手EasyRTSPClient...
  19. 强制退出程序的六种方法!
  20. mysql没开启binlog恢复数据_MySQL:binlog恢复数据

热门文章

  1. 常见的高并发处理方案
  2. Struts环境搭建(详细过程)
  3. Google Colab 读取/存储 云盘内的文件
  4. 测温定位手环的应用--新导智能
  5. 驻极体麦和MEMS麦
  6. Swift语法之 ---- ?和!区别
  7. Bert文本聚类实践
  8. 数据结构学习记录(三)链表的定义和操作
  9. dbgview问题:Could not extract Debug View driver to c:\Windows\System32\Drivers\Dbgv.sys
  10. delphi 调用dll不成功返回句柄为0的原因