1

嗨,我正在尝试获取一些动态添加的元素的标签名称,但每次我尝试点击时我都会得到未定义。我创建了一个模拟我的情况的简单示例。这是我的代码:

 <ul>
      <li>sdsa</li>
      <li>dsa</li>

  </ul>
  <button>Press</button>

 $(document).ready(function(){
           var i=0;
           $("button").on("click" , function(){
                $("ul").append("<li>" + i++ + "</li>");
           })

           $("ul").on("click" ,"li" , function(){
               alert($(this).tagName);
           })
       })

每次单击 li 标签时,我都会得到 undefined。我该如何解决这个问题?

4

2 回答 2

2

改这个..

alert($(this).tagName);

对这个...

alert(this.tagName);

tagName是 DOM 元素的属性,而不是 jQuery 对象。

于 2012-07-25T14:05:27.487 回答
2

它必须是 DOM 元素,而不是 jQuery 对象,因为 tagName 是原生 javascript 而不是 jQuery:

this.tagName
于 2012-07-25T14:05:58.997 回答