我正在尝试使用Mojo :: DOM设置属性,如下所示:
use Mojo::DOM;
my $a = Mojo::DOM->new('<a></a>');
my $a = $a->attr({ 'href' => 'https://foo/bar' });
print $a;
Run Code Online (Sandbox Code Playgroud)
我希望它能打印
<a href="https://foo/bar"></a>
Run Code Online (Sandbox Code Playgroud)
但我明白了
<a></a>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
需要首先找到并返回其属性已更改的元素
use warnings;
use strict;
use feature 'say';
use Mojo::DOM;
my $dom = Mojo::DOM->new('<a></a>');
$dom->at('a')->attr({ 'href' => 'https://foo/bar' });
say $dom;
Run Code Online (Sandbox Code Playgroud)
虽然所有节点类型都表示为
Mojo::DOM对象,但某些方法类似于attr并且namespace仅适用于元素。
(“ elements ”是“ tag”类型的节点,请参见链接)