使用ReplaceWithSelection替换goquery的html元素不会产生影响



✌️

我正试图用它的子元素替换html父元素;github.com/PuerkitoBio/goquery";。但是,ReplaceWithSelection不会替换任何内容,并且所选内容保持不变。

package main
import (
"os"
"strings"
"github.com/PuerkitoBio/goquery"
)
var html = `
<section>
<article>
<h2>Article 1</h2>
<p>Text for article #1</p>
</article>
<article>
<h2>Article 2</h2>
<p>Text for article #2</p>
</article>
</section>
`
func main() {
qHtml, err := goquery.NewDocumentFromReader(strings.NewReader(html))
if err != nil {
panic(err)
}
section := qHtml.Find(`section`)
sectionChildren := section.Children().Clone()
section.ReplaceWithSelection(sectionChildren)
goquery.Render(os.Stdout, section)
}

由于section只引用了实际Document中我们正在使用ReplaceWithSelection的一个子级,因此更改将反映在实际文档中,而不是可能已从实际Document中替换的引用,但由于您仍然有引用,因此您要用实际更改来查看它。

要查看更改,而不是使用section,请使用进行更改的Document

更改

goquery.Render(os.Stdout, section)

goquery.Render(os.Stdout, qHtml.Contents())

相关内容

  • 没有找到相关文章

最新更新