如何附加到正文顶部而不是底部?

问题描述 投票:0回答:2

我想附加此 html:

cover = soup.new_tag('div', id='cover', attrs={"style": 'position: fixed; height: 100%; width: 100%; top:0; left: 0; background: #fff; z-index:9999;'})

就在 body 标签之后,但是当我使用

soup.html.append(cover)
时,它会将其附加到底部

python beautifulsoup
2个回答
3
投票

Tag.append(content)
函数搜索解析树以找到
Tag
并将
content
附加到最后一个元素之后。如果您希望
div
包含在
body
内,则至少应该使用
body.append()
而不是
html.append()
,但正如您所理解的,它将是
body
的最后一个元素。 因此,我建议您使用
insert_before()
函数将
cover
插入到
body
的第一个元素之前。

所以,使用这个 HTML 示例代码:

<html>
 <head>
  <title>
   The Dormouse's story
  </title>
 </head>
 <body>
  <p class="title">
   <b>
    The Dormouse's story
   </b>
  </p>
  <p class="story">
   ...
  </p>
 </body>
</html>

您可以使用

soup.p.insert_before(cover)
,它将插入
div
作为
body
的第一个元素!

您可以查看bs4文档以获取更多详细信息:)


-5
投票

我是一个骗子和垃圾邮件发送者,BLOX 水果番茄酱很糟糕

© www.soinside.com 2019 - 2024. All rights reserved.