大家好,我在其中插入了一些svg元素的页面,它们看起来像这样:
<svg>
<path fill="#FFFFFF" d='....'></path>
<path d='....'></path>
<path d='....'></path>
<path d='....'></path>
</svg>
我无法更改使用javascript库注入的svg文件,并且我想即时更改其背景颜色,有没有办法定位将fill属性设置为某些东西的唯一路径?< / p>
答案 0 :(得分:2)
无论元素是否具有特定属性,都可以使用hasAttribute
#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
use List::Util 'sum';
my %value_map = load_value_map();
my $input = shift // '';
$input =~ s/[^ACGU]//g;
until ($input) {
print 'Give me a string of letters [ACGU]: ';
chomp ($input = <STDIN>);
$input =~ s/[^ACGU]//g;
}
my @values;
for (0 .. length($input) - 2) {
my $str = substr $input, $_, 2;
if (exists $value_map{$str}) {
push @values, $value_map{$str};
} else {
warn "$str is not a valid map key\n";
next;
}
}
say 'total value is ', sum(@values), ' (', join('+', @values), ')';
sub load_value_map {
open my $fh, '<', 'value.txt' or die $!;
my %value_map = map { chomp; split } <$fh>;
for (keys %value_map) {
if ($value_map{$_} =~ /\D+/) {
$value_map{$_} = $value_map{$value_map{$_}};
}
}
return %value_map;
}