使用jquery更改svg中的线条尺寸

使用jquery更改svg中的线条尺寸,jquery,svg,scroll,Jquery,Svg,Scroll,我有一个svg,它画了一条简单的线: <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="80px" height="100px" viewBox="0 0 80 589" enable-background="new 0 0 80 589" xml:space="pr

我有一个svg,它画了一条简单的线:

<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="80px" height="100px" viewBox="0 0 80 589" enable-background="new 0 0 80 589" xml:space="preserve">

 <line fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" x1="0" y1="0" x2="1000" y2="1500"/>

</svg>
这不起作用,我可以使滚动,并改变一个值,因为我去了网站,但我有点卡住时,想使线的坐标作为滚动的功能


谢谢。

您问题中的代码是d3,不是jQuery。但是,假设您询问jQuery,它(目前)在SVG中不起作用。然而,这应该是可行的:

$('line')[0].setAttribute('y1', newY1);
或普通JS:

document.querySelector('line').setAttribute('y1', newY1);

您问题中的代码是d3,而不是jQuery。但是,假设您询问jQuery,它(目前)在SVG中不起作用。然而,这应该是可行的:

$('line')[0].setAttribute('y1', newY1);
或普通JS:

document.querySelector('line').setAttribute('y1', newY1);

在我的例子中,我使用的是c3.js,但我认为它与d3图表相同

$.each($x_axis, (i, el) => {
                    $(el).find('.tick > text').attr("style", "text-anchor: start;").attr("style", "display: block;").attr("style", "transform: rotate(90deg) translate(15px, 0px);");
                    let $ticks = $(el).find('.tick');
                    $.each($ticks, (j, els) => {
                        var temp = $(els).attr('transform').split(' ');
                        var origin_transform = temp[0].slice(0,-1);
                        $(els).attr('style', 'opacity: 1;').attr('style', 'transform: ' + origin_transform + "px, -4px);");
                        $(els).find('line').attr('y2', '8');
                    });
                });

attr('y2','8')正在工作

在我的例子中,我使用的是c3.js,但我认为它与d3图表相同

$.each($x_axis, (i, el) => {
                    $(el).find('.tick > text').attr("style", "text-anchor: start;").attr("style", "display: block;").attr("style", "transform: rotate(90deg) translate(15px, 0px);");
                    let $ticks = $(el).find('.tick');
                    $.each($ticks, (j, els) => {
                        var temp = $(els).attr('transform').split(' ');
                        var origin_transform = temp[0].slice(0,-1);
                        $(els).attr('style', 'opacity: 1;').attr('style', 'transform: ' + origin_transform + "px, -4px);");
                        $(els).find('line').attr('y2', '8');
                    });
                });
attr('y2','8')正在工作