2

我想编写一个函数,每次单击它时都会用边框包围图像。联合国教科文组织 我不能让它工作。否认任何拼写错误,因为我没有复制粘贴它。该功能有效。但是单击图像时不会对图像产生任何影响。我是否访问了边框属性?

我的功能:

<script>

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

</script>

我的html正文:

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

6 回答 6

9

您的标记不太有意义,但是:

<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/

于 2012-07-28T23:32:12.230 回答
2

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

您也不希望在imageId函数声明中用引号将变量名括起来,mark()因为这会将其更改为字符串。

正如@John Girata 指出的那样,您希望为边框值指定的不仅仅是“1”。

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

此外,您需要在 onclick 属性中引用“imageId”:

<input id="imageId" src="\images\image1.png" onclick="mark('imageId')"/>
于 2012-07-28T23:25:17.540 回答
2

将边框设置为“1”对我不起作用。试试这个:

<script>

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

</script>

您还需要用引号将 HTML 中的 imageId 括起来(不确定这是否是拼写错误):

<input id="imageId" src="\images\image1.png" onclick="mark('imageId')"/>
于 2012-07-28T23:27:55.390 回答
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>
于 2017-07-09T06:02:37.417 回答
0

为了澄清,使用 DOM 元素设置边框,您需要提供宽度、颜色、样式,例如:

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

w3Schools实际上说:http ://www.w3schools.com/jsref/prop_style_border.asp

于 2012-07-28T23:41:45.037 回答
0

看这个 :

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

并定义您的功能:

function fnChangeBorder(imageId)

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

于 2015-12-21T20:50:48.587 回答