我有一个文档,我为我的javascript写了这行代码:
<script type="text/javascript"> function OnMouseOverFunction(id) {
var value = id.id;
alert("welcome");
element1 = document.getElementsByName("Image1");
element2 = document.getElementById("Image2");
element3 = document.getElementById("Image3");
element4 = document.getElementById("Image4");
element5 = document.getElementById("Image5");
if (value == "ContentPlaceHolder1_Image1") {
id.src = "images/zvezda3.png";
} else if (value == "ContentPlaceHolder1_Image2") {
id.src = "images/zvezda3.png";
element1.src = "images/zvezda3.png";
}
}</script>
以下是这些图片:
<b>Ocena:</b>
<asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" name="1" ImageUrl="images/zvezda2.png" id="Image1" runat="server" />
<asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="2" ImageUrl="images/zvezda2.png" id="Image2" runat="server" />
<asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="3" ImageUrl="images/zvezda2.png" id="Image3" runat="server" />
<asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="4" ImageUrl="images/zvezda2.png" id="Image4" runat="server" />
<asp:Image onmouseover="OnMouseOverFunction(this)" onmouseout="mouseout(this)" value="5" ImageUrl="images/zvezda2.png" id="Image5" runat="server" />
如果我删除了提醒(&#34; welcome&#34;);图片改变了。但是警告我得到了这个错误:
Property 'alert' of object [object Object] is not a function
如果鼠标位置在3.image上,我的目标是更改3种颜色(到黄色图片)。等等... 但为什么警报不起作用? 我也想知道,我怎么能通过它的ID获取元素?
element2 = document.getElementById("Image2");
element2.id //it returns null
编辑:
但......
document.write("test");
......工作正常!
答案 0 :(得分:0)
服务器控件上的'id'属性仅在服务器上有效,.net在发出HTML时会破坏id。
要解决此问题,您需要获取ClientId以便在JavaScript中使用。
尝试
document.getElementById('<%= Image5.ClientId %>');
替换每个图像的服务器ID