从数据属性接收两个未定义的值

时间:2014-12-03 16:06:54

标签: javascript jquery html jquery-data

我试图通过将数据属性名称与id链接在一起链接到div,但似乎收到错误

<div class="pod-container grid_3" data-name="#george">
  <div class="pod">
    <img src="img/example1.png" alt="">
  </div>
</div>

<div id="george">Hello World</div>

我引用jQuery 1.8.3并使用以下代码识别div上的数据属性我点击

<script>
  $('.pod-container').click(function(){
    var identifyId = $(this).data('name');
    console.log(identifyId);
    //$(identifyId).show();
  });
</script>

但是当我在控制台中登录时,我得到了。

#george                                    testdoc.html:123 
undefined                                  testdoc.html:123 

3 个答案:

答案 0 :(得分:3)

您已经两个元素与class&#34; pod&#34;。其中一个属性为data-name,其中一个属性不具备。{{1}}属性。每次点击都会触发两个元素上的事件处理程序。

答案 1 :(得分:1)

抓住拥有data-name的元素。您目前正在做的只是定位.pods,可能会或可能没有data-name。使用以下代码,您只是具体。

$('.pod[data-name]').click(function(){
   var identifyId = $(this).data('name');
   console.log(identifyId);
   //$(identifyId).show();
});

答案 2 :(得分:0)

你有2个元素与pod类,并有2个事件触发。内部div没有数据名属性。