无法使用JQuery获取asp.net元素的Text属性

bmurrell30

我有一个asp.net中继器正在创建超链接对象的无序列表。我试图使用Jquery捕获给定超链接的“文本”值,以作恶用,以便以后使用。

这是创建我的链接列表的转发器:

<ul class="links">
    <asp:Repeater Runat="server" ID="_items" EnableViewState="false">
        <ItemTemplate>

            <li>
                <asp:HyperLink ID="HyperLink1" runat="server" Text='[Eval]' NavigateUrl="#" onclick="return aClick();" />
            </li><br />

        </ItemTemplate>
   </asp:Repeater>
</ul>

...以及该aClick()函数的Javascript:

function aClick() {
    alert("Click " + $(this).text());
    return false;
}

运行时,我得到的只是一个警告框,上面显示“ Click”。没有从调用该函数的对象中返回任何文本(是的,我的所有链接都包含文本。)

我已经尝试过每个Jquery文档的event.target,我已经尝试过event.srcElement(即使我使用的是Chrome),并且我已经尝试在函数开始时将$(this..text()移到一个单独的变量中然后在我的警报中引用变量。我已经尝试过Jquery 1.8.2和1.11.2。没有。

我从开发工具中看到$(this)指的是全局Window,而不是触发事件的对象,因此很明显,我需要帮助来弄清楚如何更正此问题。

编码消失了

this不能保留在从内联onclick处理程序进行的函数调用中您需要通过:

用这个:

onclick="return aClick(this);"

function aClick(link) {
    console.log("Click " + $(link).text());
    return false;
}

使用jQuery时,我强烈建议您不要使用内联处理程序,因为它们没有充分的理由将处理程序注册代码与处理程序分开。请改用jQuery事件处理程序,以便于维护:

例如

$(function(){
   $('.links a').click(function(){
      console.log("Click " + $(this).text());
      return false;
   }
});

笔记:

  • $(function(){...}); 只是一个捷径 $(document).ready(function(){...});
  • 不要alert在调试click事件中使用(它会妨碍您)。使用console.log代替(但请记住将其删除以进行发布,因为未调试的IE会崩溃,因为未定义控制台,除非您运行了调试工具。)

如果要支持动态元素,请使用以下方法将其更改为连接到不变祖先委托事件处理程序on

$(function(){
   $('.links').on('click', 'a', function(){
      console.log("Click " + $(this).text());
      return false;
   }
});

这支持以后添加的链接,并且开销较低(启动时仅连接一个处理程序),并且事件时间的任何额外延迟都不明显,因为您无法简单地每秒单击50,000次:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用jQuery从类标记中获取元素/属性

来自分类Dev

无法使用jquery方法获取属性值

来自分类Dev

无法使用jQuery获取数据属性的值

来自分类Dev

无法使用jQuery获取数据属性

来自分类Dev

无法使用jquery获取xml属性的值

来自分类Dev

无法使用jquery获取xml属性的值

来自分类Dev

无法使用JQuery获取href属性

来自分类Dev

如何使用jQuery的.text属性检索单击元素的文本?

来自分类Dev

在asp.net中使用jquery获取用户控件元素值

来自分类Dev

对 ASP.NET 中的列表元素使用模板布局来获取 jquery API 调用的结果

来自分类Dev

使用 jQuery 从 asp:RadioButtonList 获取选定值的属性

来自分类Dev

在ASP.NET Core中,如何使用JQuery获取数据属性的值?

来自分类Dev

在jQuery中使用text()获取属性值

来自分类Dev

ASP.NET MVC 4 无法使用 js/jquery 选择正确的输入元素

来自分类Dev

无法使用方法从jQuery插件获取元素

来自分类Dev

我无法使用jQuery获取元素的当前位置

来自分类Dev

无法使用 jQuery 获取远程父 div 中的元素

来自分类Dev

无法使用jQuery获取HTML5数据属性

来自分类Dev

使用 JS/JQuery 获取 ASP.NET Webform TextBox 的值

来自分类Dev

无法从razor ASP.net获取模型属性-C#

来自分类Dev

无法获取类的属性(ASP.NET MVC)

来自分类Dev

jQuery无法获取html元素

来自分类Dev

在jquery中获取和设置ASP.NET属性

来自分类Dev

获取每个元素的属性-jQUery

来自分类Dev

获取每个元素的属性-jQUery

来自分类Dev

asp.net GetElementByid()。value元素/属性不可用

来自分类Dev

ASP.Net MVC:HTML元素属性中的单引号

来自分类Dev

无法从 ASP.NET Web API 中的 jQuery AJAX 请求获取标头

来自分类Dev

jQuery从嵌套元素中获取元素属性

Related 相关文章

热门标签

归档