我正在構建一個網站,其中包含適用於它的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