我有以下 HTML 标记
<div id="contents">
<div id="content_nav">
something goes here
</div>
<p>
some contents
</p>
</div>
为了解决一些 CSS 问题,我想在 content_nav
div 之后附加一个 div 标签 <div style="clear:both"></div>
像这样
<div id="contents">
<div id="content_nav">
something goes here
</div>
<div style="clear:both"></div>
<p>
some contents
</p>
</div>
我这样做:
import lxml.etree
tree = lxml.etree.fromString(inputString, parser=lxml.etree.HTMLParser())
contentnav = tree.find(".//div[@id='content_nav']")
contentnav.append(lxml.etree.XML("<div style='clear: both'></div>"))
但这并没有在 content_nav
div 之后附加新的 div
而是在里面。
<div id="content_nav">
something goes here
<div style="clear:both"></div>
</div>
Is there any way to add a div
in the middle of content_nav
div and some p
like that inside contents
?
谢谢
原文由 Tu Hoang 发布,翻译遵循 CC BY-SA 4.0 许可协议
Instead of appending to
contentnav
, go up to the parent (contentdiv
) andinsert
the newdiv
at a particular index.要找到该索引,请使用contentdiv.index(contentnav)
,它给出contentnav
在contentdiv
中的索引。将其加一即可得到所需的索引。产量