2013-05-27 4 views
1

Ниже приведен HTML и следующий jQuery. Если я возвращу attr («data-conn»); он предупреждает правильное значение, но использует .data («conn»), которого нет. Зачем?jQuery data() возвращает неопределенные постоянно

<span> 
    <!-- ... --> 
    <a href="link.html" class="textbutton" data-conn="text3"> 
     <img src="/images/image.png"> 
    </a> 
</span> 
<span style="width:610px;height:200px;float:right; background-color:#bcbcbc;font-size:15px;line-height:15px;"> 
    <div class="texts" id="text1">Initial Header</div> 
    <span class="texts" id="text2" style="display:none;">Text for another one</span> 
    <span class="texts" id="text3" style="display:none;">Content Text</span> 
</span> 

<script type="text/javascript"> 
    $(".textbutton").click(function(){ 
     var link = $(this).data("conn"); 
     alert(link); 
     $(".texts").fadeOut(1000, function() { 
      $("#text2").fadeIn(1000); 
     }); 
     return false; 
    }); 
</script> 
+4

работает отлично: http://jsfiddle.net/xgwBJ/ –

+3

Какую версию JQuery файла вы используете? –

+0

какой браузер вы используете? (и вы используете тип html5 doc? Не уверен, что это имеет какой-либо эффект) –

ответ

-2

путь ваши пытающиеся работает отлично

var link = $(this).data("conn"); 

использование последней версии JQuery. Здесь рабочий demo

в качестве альтернативы вы можете попробовать, как этот

var link = $(this).attr("data-conn"); 
+2

Это работает, как я уже сказал, но зачем это делать, а не то, что я пытался? – Somk

+0

то, как он это сделал, должно работать нормально. См. Http://api.jquery.com/data/#data-html5 – SpYk3HH

+0

Посмотрите на элемент данных элемента данных, возможно, он не был включен. –

Смежные вопросы