2014-01-12 46 views
0

我試圖設計一個鏈接的樣式。我有一個外部樣式表,並且在HTML中我指向了表格的正確位置,所以這不是問題。當onclick事件被觸發時,我想更改text-decoration。我有:在onclick上使用內嵌javascript對元素進行造型

<a class="dopelink"onclick="document.getElementsByTagName("link").style.textDecoration="underline" " href="mylink.htm" >MY Link</a> 

我在做什麼錯?

+0

代碼,小提琴,什麼? – tilda

+0

@davidfromMLogicinc你必須發佈你的代碼。 –

+0

你有報價問題。在雙重單引號內使用單引號。 – tilda

回答

1
<a class="dopelink" style="text-decoration:none" onmousedown="this.style.textDecoration='underline'" href="mylink.htm">My link</a> 

您的JavaScript必須使用單引號,因爲您的HTML使用雙引號。

text-decoration設置爲none,因爲默認情況下它被加下劃線。當元素被點擊時,這將會改變。

使用this而不是document.getElementsByTagName。由於它是內聯JavaScript,因此可以引用它自己。使用onmousedown而不是onclick

+0

感謝您說明正確的sytanx。儘管如此,仍然需要幫助。 – davidLeak

+0

我早些時候嘗試了幾種方法,包括你建議的方式,它不起作用。我也在你的建議後再次嘗試。還是0動作。 – davidLeak

+0

厭倦了使用而不是鏈接。仍然沒有。甚至是:鏈接。這是一個外部表單,而不是內聯css。 – davidLeak

0

我希望我的理解,如果沒有,那麼我很抱歉:/

創建一個:爲你的HTML標記懸停選項...例如我在HTML代碼這樣的「一」標籤:

<a href="somewhere.html">Take me somewhere</a> 

我喜歡做的是,這個div的顏色是紅色的,當我指向這個div時,我的鼠標將會改變顏色爲藍色並在那裏做下劃線,所以我在css中的代碼會看起來像像這樣:

a { 
    color: #F00; 
} 

a:hover { 
    color: #00F; 
    text-decoration: underline; 
} 
+0

他想通過Javascript動態地做到這一點(以免直接影響CSS文件)。正確的概念,但不同的問題。 –

+0

當然,謝謝你的評論。我只是沒有在那裏看到一個代碼,我不知道爲什麼.. –

+0

他沒有正確包含他的代碼,所以它以前是不可見的。 –

0

你r代碼不工作,因爲getElementsByTagName返回多於一個元素(它返回數組對象屬性)。你必須循環思考它的每一個。 你可以看看這個fiddle。我設置文字裝飾沒有點擊後更清晰。

測試功能(這被稱爲的onclick)你通過每一個ElementsByTagName給你一個標籤迭代。在這個循環中,你設置文本修飾屬性。

function test(){ 
var links = document.getElementsByTagName("a"); 

for (var l = 0; l < links.length; l++){ 
    links[l].style.textDecoration ='none'; 
}} 
+1

它實際上就像'onmousedown =「this.style.textDecoration ='underline'」' –

+0

我很同意。但我只是想解釋爲什麼發佈的代碼無法正常工作。 – tilda

相關問題