2015-07-11 73 views
3

我有一個無法更改的主題(由於自動更新的原因)。在主題中存在以下位的HTML:刪除沒有class或id的單個文本html元素?

<div class="dropdown-menu"> 
<a href="#">Profile</a> | <a href="#">Logout</a> 
</div> 

我需要隱藏「配置文件」鏈接和管道字符,而不修改主題HTML。 (純粹的視覺)

的配置文件鏈接是一個簡單的一個:

.dropdown-profile a:first-of-type{ 
display: none; 
} 

但我怎麼能去除管道(|)字符的CSS或JavaScript?

回答

4

您可以通過添加以下樣式

.dropdown-menu { 
    font-size : 0; 
} 

.dropdown-menu a:last-of-type{ 
    font-size: initial; // or some other value 
} 

僅供參考實現這一點 - http://jsfiddle.net/0p5L83zm/

+0

乾杯的想法,我給了它一個鏡頭,最初似乎工作正常。除了我的情況,當我用數字替換'初始',例如15px時,元素被隱藏。我需要這樣做,因爲初始似乎重置了原始字體大小。我高度懷疑這隻發生在我的特殊情況下,導致你的jsfiddle工作正常。我也嘗試過!重要的,但沒有運氣。發現問題,你似乎無法指定字體大小與「em」了,當我指定字體大小與「px」它工作正常! – TinusSky

+0

@TinusSky - 正如你所說的將值改爲15px可以在小提琴中正常工作。你可以分享你的代碼或一個地方它不工作,以便我可以進一步調試。 – nikhil

+1

嘗試使用font-size:2em;在你的jsfiddle中,註銷文本消失。我在我的例子中使用了2em,但是在你的jsfiddle中測試了15px,並不知道它們可能是不同的。使用px可以毫無問題地工作。我懷疑他們使用父母的字體大小:2 * 0字體大小= 0,這是有道理的。 – TinusSky

2

您可以使用JavaScript來操縱元素的innerHTML屬性。 的JavaScript:

foo = document.getElementsByClassName('dropdown-menu'); 
foo = foo.item(0); 
foo.innerHTML = "<a href='#'>Profile</a> <a href='#'>Logout</a>"; 

這裏有一個的jsfiddle:https://jsfiddle.net/f7d81g4g/

+1

這種方法確實也可以工作!另外,我會使用正則表達式並重用元素內容。歡呼的想法! – TinusSky

0

如果您正在使用jQuery去

$(".dropdown-menu").empty(); 

如果你想純JavaScript

document.getElementsByClassName('dropdown-menu').innerHtml = "";