我正在使用ASP.NET,在后面的代码中我需要添加一个属性,当用户将鼠标放在text1上时会出现text2;以下是我目前所拥有的。
JS:
function show(name) {
document.getElementById(name).visible = true;
}
C#:
text2.Attributes.Add("onmouseover", "show(" + text2.ClientID +")");
HTML:
<asp:HyperLink runat="server" ID="text2" Visible="false"/>
<asp:HyperLink runat="server" ID="text1" rel="external" />
答案 0 :(得分:3)
这里有两件事:
Visible="false"
不是样式,它是服务器端属性。将其设置为false意味着根本不会呈现控件。所以它甚至不存在于客户端,当然也没有办法通过javascript访问它。相反,请考虑为其分配CSS
类,或者至少为内联样式指定style="visibility: hidden"
您希望将控件的id
包装为引号。假如你的控件以id“blah_blah_text2”结束,你的javascript看起来像
show(blah_blah_text2);
所以js会尝试将“blah_blah_text2”评估为变量,当然会失败。相反,你想要
show('blah_blah_text2');
所以
"show('" + text2.ClientID +"')"
此外,我不太确定visible = true;
代表什么。据我所知,DOM对象中没有这样的属性。你的意思是document.getElementById(name).style.visibility = "visible"
吗?
答案 1 :(得分:0)
当用户将鼠标放在text1上时,会出现text2; 以下是我目前所拥有的。
Html title 属性用于此目的。
试试这个:
text2.Attributes.Add("title", text2.ClientID);
答案 2 :(得分:0)
希望您正在寻找:
text2.Attributes.Add("onmouseover", "show('" + text2.ClientID +"')");