2012-07-28 90 views
0

我想寫一個函數,每次點擊它時都會用邊框框住圖片。 UNF。我無法讓它工作。否認任何錯別字因爲我沒有複製粘貼它。該功能起作用。但點擊時不會影響圖像。我有權訪問邊框屬性嗎?JavaScript/HTML:更改圖片邊框onclick

我的功能:

<script> 

function mark(imageId) { 
    document.getElementById(imageId).style.border = "1"; 
} 

</script> 

我的html身體:

<input id="imageId" src="\images\image1.png" onclick="mark(imageId)"/> 

回答

7

您的標記不相當是有意義的,但是:

<input id="imageId" type="image" src="http://goo.gl/UohAz" onclick="mark(this)"/> 

function mark(el) { 
    el.style.border = "1px solid blue"; 
} 

http://jsfiddle.net/8QGkq/

+0

偉大的作品!以及將此邊框取消爲默認無邊框樣式的正確屬性是什麼? – 2012-07-28 23:39:02

+0

@UdiLivne - 也許這會有幫助嗎? http://jsfiddle.net/8QGkq/1/ – 2012-07-28 23:41:02

+0

+1爲創建一個jsfiddle比我快 – spacious 2012-07-28 23:43:35

2

你不想getParameter()。你想要getElementById()

您也不希望變量名稱imageIdmark()函數聲明中被引號包圍,因爲它將其更改爲字符串。

而且@John Girata指出,你想爲邊界值指定多於「1」。

document.getElementById(imageId).style.border = "1px solid black"; 

此外,你需要在你的onclick屬性引用 「圖像標識」:

<input id="imageId" src="\images\image1.png" onclick="mark('imageId')"/> 
+0

對不起我的壞我沒有使用elementById - 仍然沒有工作..固定也引號:)仍然不工作 – 2012-07-28 23:26:59

+0

你也不想'引號imageId'作爲'的getElementById參數()'。 – Trott 2012-07-28 23:27:21

2

設置邊框爲 「1」 並沒有爲我工作。試試這個:

<script> 

function mark(imageId) { 
    document.getElementById(imageId).style.border = "1px solid black"; 
} 

</script> 

您還需要圍繞圖像標識在HTML中引號(不知道這是一個錯字或不):

<input id="imageId" src="\images\image1.png" onclick="mark('imageId')"/> 
+0

很好!現在它工作了! w3schools說style.border =「1」應該夠了 - 我想不是。如果我想取消邊框,我應該將其更改爲空引號「」? – 2012-07-28 23:30:48

+2

* w3schools表示* - 請參閱http://w3fools.com。 – 2012-07-28 23:31:27

+0

@UdiLivne - 請參閱我上面的評論。我忘了用'@用戶名'通知你。 – 2012-07-28 23:39:16

0

爲了澄清,設置邊框與DOM元素,你需要提供寬度,顏色,款式,如:

document.getElementById("ex1").style.border="1px solid #0000FF"; 

W3Schools的實際上說:http://www.w3schools.com/jsref/prop_style_border.asp

+0

不要使用w3schools作爲SO的參考。請參閱:http://w3fools.com – 2012-07-28 23:45:29

+1

@Jared Farrish--我並不是真的,只是指出他們__actually__確實給出了正確的答案! – spacious 2012-07-28 23:56:04

+0

我們都很幸運。嘗試[MDN](https://developer.mozilla.org/en/DOM/Using_dynamic_styling_information),這樣你就不會受到騷擾。 – 2012-07-28 23:57:19

0

看看這個:

<img id="CN" src="CN.png" onclick="fnChangeBorder('CN')">

並定義您的功能:

function fnChangeBorder(imageId)

{document.getElementById(imageId).style.border = "solid #AA00FF";}

2

這是該問題的代碼。

<html> 
<head> 
<title></title> 
</head> 
<body> 
<script type="text/javascript"> 
    function sayHello() { 
     var boyElement = document.getElementById("boy"); 
     boyElement.style.border = "3px solid red"; 
    } 
</script> 
<img src="C:\Users\Acer\Desktop\new web site\js\images\boy.png" id="boy" 
onclick="sayHello()"> 
</body> 
</html>