我的页面上有2个链接。我正在尝试在单击linkA时更改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吗?
如果有任何其他信息可能有帮助,请告诉我们!
答案 0 :(得分:0)
尝试设置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>
答案 1 :(得分:0)
如果您使用的是.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.Net在生成的HTML中更改控件的ID