jquery选择器:在onclick函数中选择锚标记的id

jquery选择器:在onclick函数中选择锚标记的id,jquery,Jquery,如何使用jquery在onclick函数中选择锚定标记的id <a id="123" href="#" onclick="javascript: showDialog( select id of this anchor )"> Click it </a> showDialog(this.id)但理想情况下,您希望以不引人注目的方式执行此操作,而不是使用内联事件处理程序 编辑:ID不能像DDorward说的那样以数字开头。开头必须是一个字母。简短的回答是: onclic

如何使用jquery在onclick函数中选择锚定标记的id

<a id="123" href="#" onclick="javascript: showDialog( select id of this anchor )"> Click it </a>

showDialog(this.id)
但理想情况下,您希望以不引人注目的方式执行此操作,而不是使用内联事件处理程序

编辑:ID不能像DDorward说的那样以数字开头。开头必须是一个字母。

简短的回答是:

onclick="showDialog(jQuery(this).attr('id'));"
较长的答案是:

onclick="showDialog(jQuery(this).attr('id'));"
  • 不要让ID仅仅由数字组成*ID和名称标记必须以字母([a-Za-z])开头,后面可以跟任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)。-
  • 如果您不需要,请不要做任何事情,不要将标签与(而不是另一种语言)混淆
  • 当一个简单属性可以使用时,不要使用jQuery(
    this.id
    jQuery(this.attr('id'))更短更快)
  • 不要从元素中获取id以传递给使用该id获取元素的函数(正如
    showDialog
    所假定的那样)。直接传递元素:
    showDialog(this)
    (您可能必须修改
    showDialog
  • 不要使用内在事件属性。这是前进的方向
  • 取消您的事件。现在,JS将运行,浏览器将跟随链接…到达页面顶部
  • 在建立链接时,将href属性指向合理的位置。如果JS不可用,则用户可能不希望链接将其发送到页面顶部
  • 使用关键字:

    
    
    在事件处理程序
    中,此
    引用元素,因此
    此.id
    提供元素的id

    通常,您会添加带有代码的事件处理程序,而不是内联处理程序。您还希望阻止链接的默认操作,即转到
    href
    属性的地址。在这种情况下,它将跳转到书签
    #
    ,从而导致页面滚动到顶部

    $(function(){
      $('#123').click(function(e){
        showDialog(this.id);
        e.preventDefault();
      });
    });