我试图使用"github.com/PuerkitoBio/goquery"在另一个html元素之前插入一个html元素。不幸的是,新元素没有添加🤷
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`)
section.BeforeHtml(`<h1>Team Supreme</h1>`)
goquery.Render(os.Stdout, section)
}
如果我替换
section.BeforeHtml(`<h1>Team Supreme</h1>`)
section = section.BeforeHtml(`<h1>Team Supreme</h1>`)
不知道怎么做才是正确的。
BeforeHtml
是按预期工作的,它是不可见的,因为你只是渲染选定的部分标签和它的内容,但附加的h1
元素是在它之前,使附加的h1
标签可见,你必须更新下面的行
goquery.Render(os.Stdout, section)
goquery.Render(os.Stdout, qHtml.Selection)