2010-06-02 68 views

回答

1

我不知道,如果這種做法將滿足你,但你可以使用html($html)方法從pQuery

這種方法類似於著名的 的JavaScript/DOM功能的innerHTML。

如果不帶參數調用,這將 返回 第一DOM元素的內部HTML字符串中的pQuery 對象。

如果調用HTML字符串 參數,這將設置在pQuery 對象中所有DOM元素的內HTML 。

至於爲什麼pQuery可滿足你,從POD引用:

pQuery :: DOM大致企圖 複製JavaScript的Perl中DOM。它 小類 HTML :: TreeBuilder/HTML :: Element so 還有一些不同之處是 意識到。有關詳細信息,請參閱pQuery :: DOM 文檔。

1

我會用pQuery,但是這將工作

#!/usr/bin/perl -- 
use strict; 
use warnings; 
use HTML::TreeBuilder; 

my $html = <<'__HTML__'; 
<div id="target">old <B>i</B><I>n</I>ner</div> 
__HTML__ 

{ 
    my $t = HTML::TreeBuilder->new_from_content($html); 

    print $t->as_HTML('<>&',' ',{}), "\n"; 

    my $target = $t->look_down(id => 'target'); 
    $target->delete_content; 
    $target->push_content(
     HTML::TreeBuilder->new_from_content(
      "<B>NEW</B>" 
     )->look_down(qw!_tag body!)->detach_content 
    ); 

    print $t->as_HTML('<>&',' ',{}), "\n"; 

} 
__END__ 
<html> 
<head> 
</head> 
<body> 
    <div id="target">old <b>i</b><i>n</i>ner</div> 
</body> 
</html> 

<html> 
<head> 
</head> 
<body> 
    <div id="target"><b>NEW</b></div> 
</body> 
</html> 

是的,我RTFM

+0

運行完美,甚至連回_parent。謝謝 – iavian 2010-06-07 01:20:51

相關問題