代码之家  ›  专栏  ›  技术社区  ›  Jared Updike

$(but0_0”).attr(…)工作,但$(hid).attr(…)在hid==“but0_0”时不工作

  •  2
  • Jared Updike  · 技术社区  · 15 年前

    在Safari 4.0上,我有一张打印的支票?????“如果hid==”but0_0“

    作品:

    $("#but0_0").attr("onmousedown",function(){alert("Aha!");});
    

    不起作用:

    var id = "but"+y+"_"+x;
    var hid = "#"+id;
    if (hid === "#but0_0") console.debug("????");
    $(hid).attr("onmousedown",function(){alert("Aha!");});
    

    控制台显示“?????“所以代码被击中,变量与字符串文字“相同”(从==string比较的角度来看),但显然jquery的$()运算符知道区别?

    我有30个div需要操作,我需要在运行时计算该div的id。有什么想法吗?这可能是一些简单的事情,比如从“字符串”中拉出一个“字符串”或者类似的东西。 JavaScript stupidity .

    2 回复  |  直到 12 年前
        1
  •  2
  •   Mark    15 年前

    试一试以下内容:

    $(hid).live('mousedown', function() {alert("Aha!");});
    

    如果元素是动态创建的。

        2
  •  1
  •   Matt user129975    12 年前

    奇怪的是事实如此。

    你为什么不用 bind() 附上你的活动?

    $(hid).bind('mousedown', function () { /* something */ });