1

我有一个带有 youtube 结果的 div

  <div id="result" style="display: block;">

    <div id="lqT_dPApj9U" class="item view-item">
      <div style="float: left;"><img class="thumbnail" alt="" src=
      "http://i.ytimg.com/vi/m0SdBmkp9cw/default.jpg" /></div>

      <div id="name">
        <p class="title">Title goes here</p>

        <p class="views">2192501</p>
      </div><input id="video_id" type="hidden" />
    </div>

    <div id="hKoB0MHVBvM" class="item view-item">
      <div style="float: left;"><img class="thumbnail" alt="" src=
      "http://i.ytimg.com/vi/lqT_dPApj9U/default.jpg" /></div>

      <div id="name">
        <p class="title">Coca-Cola Happiness Machine</p>

        <p class="views">4791156</p>
      </div><input id="video_id" type="hidden" />
    </div>
  </div>  

问题

如何从结果 div 中获取 div id="hKoB0MHVBvM" 的值?

我尝试了以下 jQuery

$(function(){
    $('.item').live('click', function(){
        alert($(this).id);
    });
});​

但它似乎不起作用

4

2 回答 2

5
$(function(){
    $('.item').live('click', function(){
        alert(this.id);
    });
});​

this.id是“原生的”并且比 jQuery 更快$(this).attr('id');(缓慢而冗长)。

PS:从 jQuery 1.6 开始.live(),方法已被弃用。如果您有更新的版本,请使用.on()

$('#result').on('click', '.item', function(){

http://api.jquery.com/on

于 2012-06-24T19:17:48.170 回答
2

attr 方法是您所需要的:

$(function(){
    $('.item').live('click', function(){
        alert($(this).attr('id'));
    });
});​
于 2012-06-24T19:17:24.923 回答