Javascript 通过jquery填充颜色选择Svg路径
我不想在svg中显示所有白色填充路径 设想一个具有以下结构的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>
<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++
完成的)。希望这有帮助。既然可以选择所需的循环,为什么还要进行迭代?