Javascript 通过jquery填充颜色选择Svg路径

Javascript 通过jquery填充颜色选择Svg路径,javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我不想在svg中显示所有白色填充路径 设想一个具有以下结构的svg: <svg> <path class="pathok"fill="rgb(29,233, 182)"/> <path class="pathok" fill="rgb(255, 255, 255)" /> <path class="pathok" fill="rgb(255, 255, 255)" /> <path class="pat

我不想在svg中显示所有白色填充路径

设想一个具有以下结构的svg:

<svg>
     <path class="pathok"fill="rgb(29,233, 182)"/>
     <path class="pathok" fill="rgb(255, 255, 255)" />
     <path class="pathok" fill="rgb(255, 255, 255)" />
     <path class="pathok" fill="rgb(255, 255, 255)"/> 
</svg>

我尝试过这个,但不起作用:

<script>
   if ($("path").attr("fill") == ("rgb(255, 255, 255)")) {
        $(this).css("display","none")
   }
</script>

if($((“path”).attr(“fill”)==(“rgb(255,255,255)”){
$(this.css(“显示”、“无”)
}

一般来说,我如何通过他的属性值来选择标记?

您的选择器获取的是所有路径,而不是单个路径

试试这个:

$(document).ready(function(){
    var $paths = $('path'); // Get all paths
    for (var i=0;i<$paths.length;i++){ // Iterate through each one
        var $path =$($paths[i]); // This gets a single path
        if ($path.attr("fill") == ("rgb(255, 255, 255)")) {
            $path.css("display","none");
        }
    }
});
$(文档).ready(函数(){
var$path=$('path');//获取所有路径

对于(var i=0;i,选择器获取的是所有路径,而不是单个路径

试试这个:

$(document).ready(function(){
    var $paths = $('path'); // Get all paths
    for (var i=0;i<$paths.length;i++){ // Iterate through each one
        var $path =$($paths[i]); // This gets a single path
        if ($path.attr("fill") == ("rgb(255, 255, 255)")) {
            $path.css("display","none");
        }
    }
});
$(文档).ready(函数(){
var$path=$('path');//获取所有路径

对于(var i=0;i您可以直接选择所需的元素,不需要循环

我使用了rect元素而不是路径,因为您没有提供和d属性,但原理是一样的

$(“rect[fill='rgb(255,255,255)'))”).css('display','none');

您可以直接选择所需的元素,无需循环

我使用了rect元素而不是路径,因为您没有提供和d属性,但原理是一样的

$(“rect[fill='rgb(255,255,255)'))”).css('display','none');


是的,当然。
i
被用作“索引”或“计数器”。我们需要一个计数器来跟踪我们在
for…
循环中的位置,因为我们使用计数器访问
$path
对象(即$path[i])中的当前项。每次for循环迭代(循环)
i
时,计数器都会增加1(这是由
i++
完成的。希望这会有所帮助。当你可以选择你想要的时,为什么还要迭代呢?是的,当然。
i
被用作“索引”或“计数器”。我们需要一个计数器来跟踪我们在
for…
循环中的位置,因为我们使用计数器来访问
$path
对象中的当前项(即$paths[i])。每次for循环(循环)时,
i
增加1(这是通过
i++
完成的)。希望这有帮助。既然可以选择所需的循环,为什么还要进行迭代?