У меня есть вызов AJAX, который находит любые элементы с классом videoReplace
jQuery('.videoReplace').each(function(index) {
jQuery.ajax({
type: 'post',
url: 'http://optinsmart.com/videos.php',
cache: false,
data:{
'video': jQuery( this ).attr('video-source')
},
dataType: 'html',
success:function(data){
jQuery('#'+jQuery( this ).attr('id')).html(data);
},
error: function(errorThrown){
console.log(errorThrown);
}
});
});
Вот мой HTML
<h2>Tanya & Matt Ice Cream</h2>
<div id="tanya" id-name="tanya" class="videoReplace" video-source="Opt-in Smart review by Tanya_Matt Ice cream"></div>
теоретически этот код должен размещаться на моей видеостранице, а воспроизведение видео отправляется обратно в html. Затем я хочу добавить html в div, с которым я работаю.
он говорит мне, что jQuery('#'+jQuery( this).attr('id'))
не задан
Какие-либо предложения?
Ваша проблема в том, что this
в success
вызове success
не совпадает с this
в контексте each
обратного вызова.
jQuery('#'+jQuery( this ).attr('id'))
совпадает сjQuery( this )
?