Rumah  >  Soal Jawab  >  teks badan

Hasilkan elemen SVG menggunakan JavaScript

<p>Bagaimana untuk mencipta elemen SVG menggunakan JavaScript? Saya mencuba kod berikut: </p> <pre class="brush:php;toolbar:false;">var svg = document.createElement('SVG'); svg.setAttribute('style', 'border: 1px solid black'); svg.setAttribute('lebar', '600'); svg.setAttribute('ketinggian', '250'); svg.setAttribute('versi', '1.1'); svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); document.body.appendChild(svg);</pre> <p>Walau bagaimanapun, ia mencipta elemen SVG dengan lebar sifar dan ketinggian sifar. </p>
P粉662802882P粉662802882396 hari yang lalu452

membalas semua(2)saya akan balas

  • P粉670107661

    P粉6701076612023-08-23 20:03:45

    .createElementNSsvgpath Kaedah yang diperlukan oleh elemen. Di bawah adalah contoh.

    var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
    var path1 = document.createElementNS("http://www.w3.org/2000/svg", 'path');
    var path2 = document.createElementNS("http://www.w3.org/2000/svg", 'path');
    
    svg.setAttribute("aria-hidden","true");
    svg.setAttribute('viewbox', '0 0 24 24');
    svg.setAttribute('width', '24px');
    svg.setAttribute('height', '24px');
    
    path1.setAttribute('d', 'M0 0h24v24H0z');
    path1.setAttribute('fill', 'none');
    
    path2.setAttribute('d', 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z');
    path2.setAttribute('fill', '#2962ff');
    
    svg.appendChild(path1);
    svg.appendChild(path2);
    document.body.appendChild(svg);

    balas
    0
  • P粉294954447

    P粉2949544472023-08-23 00:06:04

    Anda terlupa svg元素的命名空间URIxmlnssifat anda.

    Selain itu, atribut version diabaikan oleh semua pelayar.

    var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
        svg.setAttribute('style', 'border: 1px solid black');
        svg.setAttribute('width', '600');
        svg.setAttribute('height', '250');
        svg.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink");
        document.body.appendChild(svg);

    balas
    0
  • Batalbalas