jquery - 获取被点击的列表项的ID

标签 jquery twitter-bootstrap click

http://jsfiddle.net/Ht8eP/3/

在前面的示例中,我通过 ID 明确捕获每个单击的列表项,这不实用且高效,特别是对于太多项目。我想要实现的是动态获取它,而不需要对所有列表项进行硬编码。

$(function() {
    $("#a1").click(function()
    {
        document.getElementById("dropdown").innerHTML = "A-1";
        document.getElementById("result").innerHTML = process("a1");
    });

    $("#a2").click(function()
    {
        document.getElementById("dropdown").innerHTML = "A-2";
        document.getElementById("result").innerHTML = process("a2");
    });

    $("#a3").click(function()
    {
        document.getElementById("dropdown").innerHTML = "A-3";
        document.getElementById("result").innerHTML = process("a3");
    });
});

function process(param)
{
    // Some processing!
    return param;
}

最佳答案

要使用现有代码,请尽可能少地更改它,您可以绑定(bind)到 ul.dropdown-menu li 并从其中的 a 获取 HTML并使用当前 (this) liid 值,类似于:

$("ul.dropdown-menu li").click(function() {
    var $link = $(this);
    document.getElementById("dropdown").innerHTML = $("a", $link).html();
    document.getElementById("result").innerHTML = process(this.id);
});

DEMO - 用单击事件替换多个


关于jquery - 获取被点击的列表项的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637029/

相关文章:

javascript - JavaScript 模块模式上的 this

javascript - 组合条件来检查移动设备或窗口是否已调整大小

jquery - 使用 jquery 恢复不透明度默认值

html - 媒体查询宽度不适用于 col-md 类?

列表上的 Jquery 单击事件在 Firefox 和其他浏览器中的工作方式不同

javascript - 如何在 JavaScript 中循环时间值?

twitter-bootstrap - 如何使用 bootstrap 创建像 gmail 选项卡导航栏一样的导航栏

javascript - Knockout w/Bootstrap Modals - 模态出现两次

java - 使用Android相机闪光灯+定时

JavaScript被点击并且4秒未被点击