Jquery .parent()。attr()返回undefined

时间:2016-02-26 02:35:55

标签: javascript jquery variables

我试图获取父级的属性值,并将其显示为子级div内的文本。它以未定义的方式返回。

我的HTML:

<div class="info" data-info="whatever I want displayed" ></div>

我的jQuery:

$(function(){ 
  var $info = $(this).parent().attr("data-info");
  $('.info').prepend($('<div class="new-info" >' + $info + '</div>'));
});`

我想要的结果:

<div class="info" data-info="whatever I want displayed" >
  <div class="new-info" >whatever I want displayed</div>
</div>

1 个答案:

答案 0 :(得分:1)

没有父母。第一行的$(this)不是指info元素。您需要先选择.info元素,然后按照这样的前缀添加:

$(function(){ 
  // and if you already use html5 data attribute
  // you can just select it value by using .data()
  var 
     $info = $('.info'),
     dataInfo = $info.data("info");

     $info.prepend('<div class="new-info" >' + dataInfo + '</div>');
});