我的页面上有2个链接。当我点击linkka时,我试图改变linkB的文本。然而,每当我试图获得linkB的"href"值时,我就会得到一个未定义的错误。我试过很多其他方法,但都没用。如果我遗漏了一些明显的东西,请原谅。
<a ID="lnkPopUp" runat="server" style="text-decoration: underline; text-align: right" target="_blank">
New Window
</a>
<br/>
<a ID="lnkAlt" runat="server" style="text-decoration: underline; text-align: right" target="_blank" href="http://www.google.com">
Not this one
</a>
我的脚本:
$('#lnkPopUp').click(
function () {
var addressVal = $('#lnkAlt').attr('href');
alert(addressVal);
}
);
另外,我已经在<head>
标签内得到了我的脚本。它是否试图在处理页面的其余部分并设置href之前获取href ?
请让我知道如果任何其他信息可能会有帮助!
尝试设置clientIDMode
,使jquery使用正确的ID。
<a ID="lnkAlt" clientIDMode="static" runat="server" style="text-decoration: underline; text-align: right" target="_blank" href="http://www.google.com">
Not this one
</a>
如果您正在使用.Net Framework 3.5
或更低的clientIDMode
是不工作的,因为该属性是添加在.Net Framework 4
试试这个
$('#lnkPopUp').click(
function () {
var addressVal = $('#<%= lnkAlt.ClientID %>').attr('href');
alert(addressVal);
}
);
和更改href属性使用以下代码
$('#<%= lnkAlt.ClientID %>').attr("href", "http://stackoverflow.com/")
你必须使用<%= lnkAlt.ClientID %>
来获得生成的ID;ASP。在生成的HTML中更改控件的ID