我想用div
标签替换所有图片代码。我可以选择所有标签,我知道我必须使用replaceWith
。但我无法使用它。
如果我使用TextNode
将其替换为<div> </div>
并转换为&lt;div&gt; my div &lt;/div&gt;
我知道&lt;
而&gt;
适用于<
和>
请帮帮我。
答案 0 :(得分:12)
我猜你要替换为element.replaceWith(new TextNode("<div></div>"),"");
?
Textnode
用于文本并转义内容 - 这就是您看到HTML实体的原因。您需要使用标记替换,因此请执行element.replaceWith(new Element(Tag.valueOf("div"), ""));
。
答案 1 :(得分:1)
这是实现此目的的最简单方法:
Elements elements= doc.getElementsByTag("img");
elements.tagName("div");
希望对您有用。
答案 2 :(得分:0)
只需使用 find 方法并传递特定标签
let tag = soup.find('tag_name') tag.name = 'new_tag';//replaced tag
对于多个标签,只需放入循环内
let tag = soup.findAll('tag_name'); if (tag) { for (let i = 0; i < tag.length; i++) { tag[i].name = 'your_new_tag'; } }