jquery - 使用 JQuery 禁用链接

标签 jquery asp.net-mvc

我有以下代码,其功能类似于 Stackoverflow 上评论链接的工作方式...单击时,它会触发 ActionResult 并填充 div

   $(function() {
        $("a[id ^='doneLink-']").live('click', function(event) {
            match = this.id.match(/doneLink-(\d+)/);
            container = $("div#doneContainer-" + match[1])
            container.toggle();

            if (container.is(":visible")) {
                container.load($(this).attr("href"));
            } else {
                container.html("Loading...");
            }
            event.preventDefault();
        });
    });

我希望能够做一件事,更改他们单击的链接文本以显示“隐藏”之类的内容,并禁用此链接所在的小菜单中的其他链接。

编辑: 该函数的源代码如下所示

<div id="dc_lifelistmenu"style="float:left;padding-bottom:5px;font-size:10pt;width:400px;">
    <a href="/entries/addentry/86">Add Entry</a> | 
    <a href="/goals/adddaimoku/86" id="daimokuLink-2">Log Daimoku</a> | 
    <a href="/goals/done/86" id="doneLink-2">Mark Completed</a> |
    <a href="/goals/remove/86">Remove</a>
</div><br />
<div id='daimokuContainer-2' style="display:none;">  Loading...</div>
<div id='doneContainer-2' style="display:none;">  Loading...</div>

最佳答案

如果您想删除链接而不是禁用它:

jQuery('#path .to .your a').each(function(){
    var $t = jQuery(this);
    $t.after($t.text());
    $t.remove();
});

注释:

  • 您还可以使用 function(k,v) 来获取迭代器和元素,而不使用 'this'
  • 如果您使用默认命名空间,请随意将 jQuery 替换为 $
  • var $t = jQuery(this) 是一个缓存函数,它引用元素并有助于清理代码
  • 在实际上是 jQuery 项的变量前面加上 $ 是一个很好的做法,以帮助在代码中将它们在视觉上分开。它还可以帮助您认识到您可以调用它们的方法。
  • 关于jquery - 使用 JQuery 禁用链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/586024/

    相关文章:

    c# - Controller 的 Action 在具有相同名称的基类的 Action 之间是不明确的。

    javascript - 创建 mask 叠加聚光灯效果以显示图像

    javascript - 如何在 v4.0 中向 select2 元素添加类

    jquery - 在加载的内容中操作对象

    javascript - ASP.NET MVC3 - 从 Action 动态创建 javascript

    asp.net - 获取 MVC 4 使用的 DisplayMode Suffix

    jquery - jqGrid行交替背景

    jquery - nyroModel 不会自动调整大小

    asp.net-mvc - 如何显示格式化的 XML

    jquery - Bootstrap 日期时间选择器 asp.NET MVC