我正在构建一个网站,其中包含适用于它的div和样式的公平重击。问题是,有些页面没有子页面,所以subnav是空的,看起来有点奇怪。完全从HTML中删除匹配字符串
我无法找到一个简单的脚本来删除html。
这是我想删除代码:
<div class="sub_nav"><div class="track_nav_style_1">
<div class="track_nav_links">
<ul></ul>
</div>
</div></div>
我正在构建一个网站,其中包含适用于它的div和样式的公平重击。问题是,有些页面没有子页面,所以subnav是空的,看起来有点奇怪。完全从HTML中删除匹配字符串
我无法找到一个简单的脚本来删除html。
这是我想删除代码:
<div class="sub_nav"><div class="track_nav_style_1">
<div class="track_nav_links">
<ul></ul>
</div>
</div></div>
我真的希望我找到了你,如果是这样,我建议使用一个简单的jQuery脚本。 在您的<head>
部分包含以下内容。如果下面还有没有<li>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script language="javascript" type="text/javascript">
google.load('jquery', '1.7.1');
</script>
下面的脚本将删除<ul>
容器。
if ($('.track_nav_links ul li').length == 0)
$('.track_nav_links ul').remove();
我想尝试用CSS做。就像:
.track_nav_links ul{
padding: 0;
height: auto;
/* background styles and others can be applied, but won't be visible unless the list has content */
}
.track_nav_links ul li{
/* Use the css on these elements to determine height, style etc */
}
谢谢你的回应,这个div的边框和背景设定的高度,所以CSS在这种情况下不起作用。但是,谢谢你花时间回答我的问题。 –
这里有一个Python脚本:
进口OS
snippet = """<div class="sub_nav"><div class="track_nav_style_1">
<div class="track_nav_links">
<ul></ul>
</div>
</div></div>"""
def remove_code_snippet_from_file(file_name):
f = open(file_name, 'r+')
old_code = f.read()
f.close()
f = open(file_name, 'w')
f.write(old_code.replace(snippet, ''))
f.close()
if __name__ == "__main__":
for file_name in os.listdir(os.getcwd()):
if file_name.endswith('.html'):
remove_code_snippet_from_file(file_name)
你说的是 “剧本” 是什么意思?如果根本没有子页面,为什么要生成二级导航div?首先生成一个空div然后删除它是笨拙的。 –
感谢队友,这个网站有几千页,其中很多页面都有子页面,其中很多页面没有。我们没有资源来确定哪些是做或不做,并且有一个html解析文件可以使用。在这种情况下,笨拙的选项对我们来说是最好的例子,就好像脚本无法启动一样,最糟糕的情况是在页面顶部出现一个空的灰色div。我们拥有的系统不健壮,并且会吐出菜单HTML,无论是否列出项目。另外,通过脚本,我的意思是一个onload javascript。谢谢。 –
你可以使用JS或jQuery检查每个'ul'元素,如果它是空的,删除父项? – Shomz