HTML:
<div class="abc">
<span data-rel="hai">Hello</span>
<span data-rel="bye">Bye</span>
</div>
JQuery:
$(document).on('click','.abc >span',function(){
alert(($(this).attr('data-rel'))); // This Code alerts hai.
alert($('.'+($(this).attr('data-rel'))+'_cls')); // I thought this code would alert as .hai_cls but it alerts as [object object].
});
Могу ли я узнать разницу между ними?
alert( $('.'+($(this).attr('data-rel'))+'_cls') );
Он вызывает объект, потому что $ ('.' + Впереди
alert( $(this).attr('data-rel')+'_cls' );
Он вызывает просто имя объекта, как вы хотите
Первый предупреждает значение attr, которое является "hai". Второй предупреждает объект с классом "hai_cls",