如何在 Web 视图中隐藏 xml 元素后删除空格



我正在开发Android应用程序,对css和javascript一无所知。我需要在我的 Web 视图中显示一个网页,但隐藏的元素很少。我的以下代码工作成功

@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
try {
view.loadUrl("javascript:(function() { " +
"document.getElementById('header').style.visibility='collapse';})()");
/*  view.loadUrl("javascript:(function() { " +
"document.getElementById('header').style.visibility='hidden';})()");*/
}catch (Exception e) {
e.printStackTrace();
}
}

"header"是header的id,它被隐藏了,但它最初在顶部占据的空间仍然存在。那么如何隐藏那个空间。

谢谢:)

使用display:none完全隐藏元素,并将display:block设置为再次显示它。

或者在你的情况下.style.display='none';

如果设置 display:none,它将隐藏整个元素,而可见性:hidden 表示元素的内容将不可见,但元素保持其原始位置和大小。

尝试document.getElementById('header').style.display='none'

我建议使用Jsoup:

您可以像这样删除标签或 id:

public void removeUnusedHTMLTags(org.jsoup.nodes.Document document, String tagClassOrId) {
Elements categories = document.select(tagClassOrId);
for (org.jsoup.nodes.Element element : categories){
Log.v(">>>", "Remove unused tag " + tagClassOrId);
element.remove();
}
}

编辑

你需要添加 Jsoup 库:

compile 'org.jsoup:jsoup:1.11.3'

要获取文档:

Connection con = Jsoup.connect(url)
.ignoreContentType(true);
Connection.Response res = con.execute();
String rawJSON = res.body();
Document document = Jsoup.parse(rawJSON);

最新更新