jQuery 对象".attr('href')"返回未定义



我的页面上有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

最新更新