从HTML中完全删除匹配的字符串

时间:2012-05-01 09:55:19

标签: javascript html

我正在构建一个带有二级导航的网站,其中应用了div和样式。问题是,有些页面没有子页面,因此subnav为空,看起来有点奇怪。

我无法找到一个简单的脚本来删除html。

这是我要删除的代码:

<div class="sub_nav"><div class="track_nav_style_1">
<div class="track_nav_links">
<ul></ul>
</div>
</div></div>

3 个答案:

答案 0 :(得分:1)

我试着用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 */
} 

答案 1 :(得分:0)

我真的希望我帮到你,如果是的话,我建议使用一个简单的jQuery脚本。 在<head>部分中添加以下内容。

<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>,以下脚本将删除<li>容器。

    if ($('.track_nav_links ul li').length == 0)
        $('.track_nav_links ul').remove();

答案 2 :(得分:-1)

这是一个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)