2017-07-14 74 views
0

HTML。我的代碼如下所示:如果跨度內容爲空,如何隱藏標籤

<p class="left" style="margin-top: 0.5em;"> 
<span class="left">8. 1. pamatslimība</span> 
<span style="float: right"> 
    <i data-openehr-field="/content[at0001]/items[lv.softdent.clinical::openEHR-EHR-ADMIN_ENTRY.izraksts.v1]/data/items[at0105]/items[at0106]" data-openehr-text-as-value="false" data-openehr-value-transformer="transformIcdTextToOnlyText"></i> 
    <span data-openehr-field="/content[at0001]/items[lv.softdent.clinical::openEHR-EHR-ADMIN_ENTRY.izraksts.v1]/data/items[at0105]/items[at0106]" data-tmpl="#square" data-openehr-text-as-value="true"></span> 
</span> 
</p> 

找不到解決方案如何隱藏第一跨度(可以作爲標籤),如果第二跨度(值)是emty。

代碼用於創建打印頁面表單。

+0

你在那裏住了三個跨度你要測試是否爲空哪一個解決方案嗎? – jamiedanq

+0

如果在這一個裏面的所有東西都是「」是emty,那麼隱藏「 8。1.pamatslimība」 – thomm3

+0

BTW to openEHR paths on the client side is不是一個好的解決方案,我會建議將它們保留在後端,並在映射到路徑的GUI上有一些自動生成的代碼或ID。 –

回答

0
<p class="left" style="margin-top: 0.5em;"> 
<span class="left hideIfSpanEmpty">8. 1. pamatslimība</span> 
<span style="float: right"> 
    <i data-openehr-field="/content[at0001]/items[lv.softdent.clinical::openEHR-EHR-ADMIN_ENTRY.izraksts.v1]/data/items[at0105]/items[at0106]" data-openehr-text-as-value="false" data-openehr-value-transformer="transformIcdTextToOnlyText"></i> 
    <span data-openehr-field="/content[at0001]/items[lv.softdent.clinical::openEHR-EHR-ADMIN_ENTRY.izraksts.v1]/data/items[at0105]/items[at0106]" data-tmpl="#square" data-openehr-text-as-value="true"></span> 
</span> 
</p> 

發現用JavaScript

<script type="text/javascript"> 
function hideIfNextEmpty(el) { 
    var text = 'textContent' in document ? 'textContent' : 'innerText'; 
    if (el.nextElementSibling[text].replace(/\s/g, '').length === 0) { 
     el.style.display = 'none'; 
    } 
} 

var elements = document.getElementsByClassName("hideIfSpanEmpty"); 

for (var i = 0; i < elements.length; i++) { 
hideIfNextEmpty(elements[i]); 
} 
</script>